ravenpack api-python客户端

ravenpackapi的Python项目详细描述


一个python库来使用 RavenPackapi。

API documention.

安装

pip install ravenpackapi

关于

python客户端帮助管理对ravenpack数据集的api调用 服务器以pythonic的方式,下面是一些使用示例,您可以找到 更多的测试。

用法

为了能够使用ravenpack api,您需要一个api密钥。 如果您还没有,请联系您的customer support代表。

要开始使用api,您需要实例化一个api对象 将处理API调用。

使用ravenpack api密钥,可以设置RP_API_KEY 环境变量或在代码中设置它:

fromravenpackapiimportRPApiapi=RPApi(api_key="YOUR_API_KEY")

创建新数据集

要创建数据集,可以调用 带有数据集实例的API。

ds=api.create_dataset(Dataset(name="New Dataset",filters={"relevance":{"$gte":90}},))print("Dataset created",ds)

从数据集获取数据

在api包装器中,有几个模型可能用于 与数据交互。

这里是如何获得一个预先存在的数据集

的数据集定义
# Get the dataset description from the server, here we use 'us30'# one of RavenPack public datasets with the top30 companies in the USds=api.get_dataset(dataset_id='us30')

下载:json

json端点有助于同步请求数据,并为 小请求,如果需要下载大数据块,可能需要 请改用异步数据文件终结点。

data=ds.json(start_date='2018-01-05 18:00:00',end_date='2018-01-05 18:01:00',)forrecordindata:print(record)

json查询仅限于*粒度数据集:10000条记录* 指标数据集:500个实体,时间范围1年,回顾窗口1 年份

下载:数据文件

对于更大的请求,可以使用数据文件端点来准备 数据文件在Ravenpack服务器上异步,以便以后检索。

请求一个数据文件,将返回一个作业对象 还有一段时间要完成。

job=ds.request_datafile(start_date='2018-01-05 18:00:00',end_date='2018-01-05 18:01:00',)withopen('output.csv')asfp:job.save_to_file(filename=fp.name)

流式实时数据

可以订阅数据集的实时流。

一旦使用 数据集,您将收到分析记录 出版。

建议使用重试策略处理可能的断开连接。 你可以找到一张real-time streaming example here

result对象处理各种字段到 适当的类型,即record.timestamp_utc将转换为 datetime

实体映射

实体映射终结点允许您查找映射的rp_entity_id 去你的实体世界。

universe=["RavenPack",{'ticker':'AAPL'},'California USA',{# Amazon, specifying various fields"client_id":"12345-A","date":"2017-01-01","name":"Amazon Inc.","entity_type":"COMP","isin":"US0231351067","cusip":"023135106","sedol":"B58WM62","listing":"XNAS:AMZN"},]mapping=api.get_entity_mapping(universe)# in this case we match everythingassertlen(mapping.matched)==len(universe)assert[m.nameforminmapping.matched]==["RavenPack International S.L.","Apple Inc.","California, U.S.","Amazon.com Inc."]

实体引用

实体引用终结点为您提供 给定RP实体ID的实体

ALPHABET_RP_ENTITY_ID='4A6F00'references=api.get_entity_reference(ALPHABET_RP_ENTITY_ID)# show all the names over historyfornameinreferences.names:print(name.value,name.start,name.end)# print all the ticket valid todayfortickerinreferences.tickers:ifticker.is_valid():print(ticker)

访问低级请求

ravenpack api包装器正在使用requests library来执行https请求,您可以 通过设置 common_request_params属性。

例如,要禁用https证书验证并设置 内部代理:

api=RPApi()api.common_request_params.update(dict(proxies={'https':'http://your_internal_proxy:9999'},verify=False,))# use the api to do requests
P>设置内部代理,请求将遵守 https_proxy环境变量。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在reducer中迭代自定义可写组件时出现java问题   属性文件中属性的java命名约定   任务链关闭的java Executor服务   java从Eclipse中的字段生成多个构造函数   java通过继承读取Json   java在不知道密钥的情况下解析json   java camel cxf如何在电子邮件中发送soap请求响应   java程序似乎跳过了if语句的一部分,在移回正确位置之前先移到else语句   测试简单的Java加密/解密inputFileName不存在   java从Jenkins REST API获取所有作业的所有构建的构建细节   java基本包装器和静态“类型”类对象   在WebSphere8.5上部署java代码   java对象相等(对象引用“=”)   java MongoDB整型字段到枚举的转换   每次我重新导入gradle时,IntelliJ都会不断重置Java设置   类型使用键或索引从Java中的数据类型检索值   在Java的列表接口中需要listIterator()和iterator()是什么?