ravenpack api-python客户端
ravenpackapi的Python项目详细描述
一个python库来使用 RavenPackapi。
安装
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 requestsP>设置内部代理,请求将遵守 https_proxy环境变量。