coinbase pro api的非官方python客户端
cbpro2的Python项目详细描述
CoinBasePro-巨蟒
" rel="nofollow"> "RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE<<<<<<<<<<<<亚胺咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪/A>
用于coinbase pro api的python客户端 gdax)
注
这是原始cbpro项目的一个分支。 我创建这个叉子是因为在2018年9月到10月之间, 该项目在审查和合并请求时似乎处于非活动状态。目标 这个叉子如下:
- 与上游保持同步
- 改进开发人员的工作流程和风格
- 表面覆盖率统计鼓励单元测试
优点
- 一个简单易用的python包装器,用于公共端点和经过身份验证的端点。
- 大约十分钟后,你就可以通过程序在 全球最大的比特币交易所!
- 不用担心用易于使用的方法处理api的细微差别。 对于每个API端点。
- 在cb-pro的庇护下学习,在市场上取得优势 每一个滴答声背后都有什么人和什么。
开发中
- 测试脚本
- 实时订单的附加功能
- 修复API客户端寻找帮助
开始
本自述文件介绍了
这个仓库。有关完整语法的详细信息,请参见函数docstrings。
这个api试图向cb pro提供一个干净的接口,但是为了使用它
为了充分发挥其潜力,您必须熟悉官方CB Pro
文档。
您可以手动安装项目或使用
pip
:
公共客户端
api中只有一些端点对每个人都可用。公共端点
可使用publicclient
publicclient方法
啊! 啊! 啊!- 获取新产品交易(分页)
public_client.get_product_historic_rates('ETH-USD')# To include other parameters, see function docstring:public_client.get_product_historic_rates('ETH-USD',granularity=3000)
public_client.get_product_24hr_stats('ETH-USD')
public_client.get_currencies()
pipinstallcbpro2#orpipinstallgit+git://github.com/yiwensong/coinbasepro-python.git0
经过身份验证的客户端
并非所有的api端点都对每个人都可用。
需要用户身份验证的用户可以使用authenticatedclient
访问。
必须在
帐户设置。
authenticatedclient
继承publicclient的所有方法
类,因此您只需要初始化一个
将两者集成到脚本中。
pipinstallcbpro2#orpipinstallgit+git://github.com/yiwensong/coinbasepro-python.git1
分页
有些调用是分页的,意思是多个
必须进行调用才能接收完整的数据集。cbpropythonapi提供
以生成器的形式对分页端点的抽象,生成器提供
用于迭代的干净接口,但可能在
场景。分页选项before
,after
和limit
可以作为
关键字参数(如果需要),但对于典型的用例来说是不必要的。
pipinstallcbpro2#orpipinstallgit+git://github.com/yiwensong/coinbasepro-python.git2
值得指出的分页参数的一个用例是仅检索
上次请求后的新数据。对于get_fills()
的情况,
trade_id
是用于索引的参数。旁路
before=some_trade_id
,只填充比trade_id
将
返回。请注意,在使用之前的
时,最多可输入100个条目
返回-这是CB Pro的限制。
pipinstallcbpro2#orpipinstallgit+git://github.com/yiwensong/coinbasepro-python.git3
经过身份验证的客户端方法
pipinstallcbpro2#orpipinstallgit+git://github.com/yiwensong/coinbasepro-python.git4
pipinstallcbpro2#orpipinstallgit+git://github.com/yiwensong/coinbasepro-python.git5
- 获取帐户历史记录(分页)
pipinstallcbpro2#orpipinstallgit+git://github.com/yiwensong/coinbasepro-python.git6
- 获取帐户保持(分页)
pipinstallcbpro2#orpipinstallgit+git://github.com/yiwensong/coinbasepro-python.git7
pipinstallcbpro2#orpipinstallgit+git://github.com/yiwensong/coinbasepro-python.git8
pipinstallcbpro2#orpipinstallgit+git://github.com/yiwensong/coinbasepro-python.git9
importcbpropublic_client=cbpro.PublicClient()0
importcbpropublic_client=cbpro.PublicClient()1
importcbpropublic_client=cbpro.PublicClient()2
importcbpropublic_client=cbpro.PublicClient()3
importcbpropublic_client=cbpro.PublicClient()4
- 获取订单(分页)
importcbpropublic_client=cbpro.PublicClient()5
importcbpropublic_client=cbpro.PublicClient()6
- 获取填充(分页)
importcbpropublic_client=cbpro.PublicClient()7
importcbpropublic_client=cbpro.PublicClient()8
importcbpropublic_client=cbpro.PublicClient()9
websocketclient
如果您希望接收实时市场更新,则必须订阅 websocket feed
订阅单个产品
public_client.get_products()
0
订阅多个产品
public_client.get_products()
1
websocketclient+mongodb
public_client.get_products()1
websocketclient+mongodb
websocketclient现在支持通过mongodb收集数据。给定一个
MongoDB集合,WebSocketClient
将结果直接流到
数据库集合。
public_client.get_products()2
websocketclient方法
网络socketclient
初始化时在单独的线程中订阅。
有三种方法可以覆盖(在初始化之前),因此
可以对数据流做出反应。当前客户端是用于
仅用于说明。
- onopen-调用一次,在进行套接字连接之前,这个 是要添加初始参数的位置。
- onMessage-对每个到达并接受的消息调用一次 包含dict类型消息的参数。
- 打开关闭-在WebSocket关闭后调用一次。
- 关闭-调用此方法以关闭WebSocket连接(不要覆盖)。
public_client.get_products()3
实时订单
orderbook
订阅websocket并保存
产品ID输入的医嘱簿。请提供您对未来的反馈
改进。
public_client.get_products()4
开发
开发环境
可以使用命令创建和激活开发环境
public_client.get_products()5
自动测试
单元测试框架使用pytest、coverage和tox。测试套件正在开发中,
请参加保险。对经过身份验证的客户端的测试需要
沙盒API凭据集。要提供它们,请重命名
api_config.json.example
在tests文件夹中的api_config.json
并编辑
相应地归档。要运行测试,请在项目目录中启动并运行
public_client.get_products()6
预提交
此项目使用预提交来强制执行编码样式。可以使用运行预提交 以下命令(在激活VENV后)
public_client.get_products()7
您也可以运行
public_client.get_products()8
但这肯定会失败,因为遗留代码尚未被linted。