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 文档。

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.git
0

经过身份验证的客户端

并非所有的api端点都对每个人都可用。 需要用户身份验证的用户可以使用authenticatedclient访问。 必须在 帐户设置authenticatedclient继承所有方法来自publicclient的ds 类,因此您只需要初始化一个 将两者集成到脚本中。

pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git
1

分页

有些调用是分页的,意思是多个 必须进行调用才能接收完整的数据集。cbpropythonapi提供 以生成器的形式对分页端点的抽象,生成器提供 用于迭代的干净接口,但可能在 场景。分页选项beforeafterlimit可以作为 关键字参数(如果需要),但对于典型的用例来说是不必要的。

pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git
2

值得指出的分页参数的一个用例是仅检索 上次请求后的新数据。对于get_fills()的情况, trade_id是用于索引的参数。旁路 before=some_trade_id,只填充比trade_id将 返回。请注意,在使用之前的时,最多可输入100个条目 返回-这是CB Pro的限制。

pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git
3

经过身份验证的客户端方法

pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git
4
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git
5
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git
6
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git
7
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git
8
pipinstallcbpro#orpipinstallgit+git://github.com/danpaquin/coinbasepro-python.git
9
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

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版本。

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

推荐PyPI第三方库


热门话题
java工作的Android KitKat代码在棒棒糖设备上崩溃   java Android以长变量存储文件大小   JavaSpring请求映射映射唯一端点中的所有GET请求   java为什么我的代码告诉我初始化一个已经初始化的变量?   使用IntelliJ IDEA部署java多模块项目   如何让eclipse为Java使用不同的编译器版本?   如何在将行导出到Excel Java时替换默认jtable列值   表达式使用faker生成java姓氏,但只需要字母   Lisp链表仿真Java   java将泛型类型放在何处   java useDelimiter,读取第一个分隔符,然后更改行   java如何正确处理文件中的数字输入?   java组织。springframework。数据领域无法将PageImpl强制转换为   有没有可能让SpringMVCWeb应用程序作为嵌入Java和Tomcat的“独立可执行文件”运行?   java Log4j,可在不同文件中写入   java如何设置只在安卓首次发布时出现的活动?   java JFreeChart AutoRange不适用于同一绘图上的多个系列   用汉字声明字符串的java