coinbase pro api的非官方python客户端
cbpro-notbroken的Python项目详细描述
CoinBasePro Python
用于coinbase pro api的python客户端 gdax)
由Daniel Paquin根据麻省理工学院许可证提供。
注意:这个库可能有细微的损坏或错误。代码发布于 麻省理工学院许可证–请牢记以下信息:
< Buff行情>本软件按"原样"提供,无任何形式的保证,明示或 默示的,包括但不限于适销性、适用性的保证 为了一个特殊的目的和非侵犯。在任何情况下,作者或 版权持有人应对任何索赔、损害或其他责任负责,无论 在合同诉讼、侵权诉讼或其他诉讼中,由 与本软件的连接、本软件的使用或其他交易。
优点
- 一个简单易用的python包装器,用于公共端点和经过身份验证的端点。
- 在大约10分钟内,您可以在 全球最大的比特币交易所!
- 不用担心用易于使用的方法处理api的细微差别 对于每个API端点。
- 在cb-pro的庇护下学习,在市场上取得优势 每一个滴答声背后都有什么人和什么。
开发中
- 测试脚本
- 实时订单的附加功能
- 修复API客户端寻找帮助
开始
本自述文件介绍了
这个仓库。有关完整语法的详细信息,请参见函数docstrings。
这个api试图向cb pro提供一个干净的接口,但是为了使用它
为了充分发挥其潜力,您必须熟悉官方CB Pro
文档。
您可以手动安装项目或使用
pip
:
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git
公共客户端
api中只有一些端点对每个人都可用。公共端点
可使用publicclient
importcbpropublic_client=cbpro.PublicClient()
publicclient方法
public_client.get_products()
# Get the order book at the default level.public_client.get_product_order_book('BTC-USD')# Get the order book at a specific level.public_client.get_product_order_book('BTC-USD',level=1)
# Get the product ticker for a specific product.public_client.get_product_ticker(product_id='ETH-USD')
- 获取产品交易(分页)
# Get the product trades for a specific product.# Returns a generatorpublic_client.get_product_trades(product_id='ETH-USD')
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()
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git0
经过身份验证的客户端
并非所有的api端点都对每个人都可用。
需要用户身份验证的用户可以使用authenticatedclient
访问。
必须在
帐户设置。
authenticatedclient
继承所有方法来自publicclient的ds
类,因此您只需要初始化一个
将两者集成到脚本中。
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git1
分页
有些调用是分页的,意思是多个
必须进行调用才能接收完整的数据集。cbpropythonapi提供
以生成器的形式对分页端点的抽象,生成器提供
用于迭代的干净接口,但可能在
场景。分页选项before
,after
和limit
可以作为
关键字参数(如果需要),但对于典型的用例来说是不必要的。
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git2
值得指出的分页参数的一个用例是仅检索
上次请求后的新数据。对于get_fills()
的情况,
trade_id
是用于索引的参数。旁路
before=some_trade_id
,只填充比trade_id
将
返回。请注意,在使用之前的
时,最多可输入100个条目
返回-这是CB Pro的限制。
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git3
经过身份验证的客户端方法
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git4
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git5
- 获取帐户历史记录(分页)
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git6
- 获取帐户保持(分页)
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git7
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git8
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/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方法
初始化时,websocketclient
在单独的线程中订阅。
有三种方法可以覆盖(在初始化之前),因此
可以对数据流做出反应。当前客户端是用于
仅用于说明。
- onopen-调用一次,在进行套接字连接之前,这个 是要添加初始参数的位置。
- onMessage-对每个到达并接受的消息调用一次 包含dict类型消息的参数。
- 打开关闭-在WebSocket关闭后调用一次。
- 关闭-调用此方法以关闭WebSocket连接(不要覆盖)。
public_client.get_products()3
测试
一个测试套件正在开发中。A测试经过身份验证的客户端需要
沙盒API凭据集。要提供它们,请重命名
api_config.json.example
在tests文件夹中的api_config.json
并编辑
相应地归档。要运行测试,请在项目目录中启动并运行
public_client.get_products()4
实时订单
orderbook
订阅websocket并保存
产品ID输入的医嘱簿。请提供您对未来的反馈
改进。
public_client.get_products()5
测试
使用pytest框架正在开发单元测试。贡献是 欢迎!
在项目中运行完整的测试套件 目录运行:
public_client.get_products()6
更改日志
1.1.2当前PYPI版本
- 重构CoinBase Pro的项目
- 对分页的处理方式进行了重大改革
1.0
- 不向后兼容的第一个版本
- 按照PEP 8标准进行重构
- 改进的文档
0.3
- 添加了加密和LTC存款和取款(未记录)。
- 增加了对保证金交易的支持(无证)。
- 增强了WebSocketClient的功能。
- 订单的软启动(未记录)。
- 小错误挤压和语法改进。
0.2.2
- 添加了附加的api功能,如cancelAll()和eth撤销。
0.2.1
- 允许
websocketclient
直观操作并重新构造示例 工作流程。
0.2.0
- 将项目重命名为gdax python
- 合并WebSocket更新以处理错误并重新连接。
0.1.2
- 更新了json处理,提高了某些用户之间的兼容性。
- 增加了对付款方式、报表和CoinBase用户帐户的支持。
- 其他兼容性更新。
0.1.1b2
- 原始PYPI版本。