CTP (China Futures)
CTP exchange plugin for bt_api, supporting Chinese futures market trading.
English | 中文
Overview
This package provides the CTP (China Futures) exchange plugin for the bt_api framework. It offers a unified interface for interacting with Chinese futures exchanges via the CTP protocol.
Supported Exchanges
| Exchange | Code | Description |
|---|---|---|
| Shanghai Futures Exchange | SHFE | metals, energy |
| Dalian Commodity Exchange | DCE | agricultural, chemicals |
| Zhengzhou Commodity Exchange | CZCE | agricultural, chemicals |
| China Financial Futures Exchange | CFFEX | equity index futures |
| Shanghai International Energy Exchange | INE | crude oil, iron ore |
| Guangzhou Futures Exchange | GFEX | industrial, agricultural |
Features
- Futures trading via CTP protocol (v6.x)
- Support for all Chinese futures exchanges
- Real-time market data via market data API
- Order placement and cancellation via trade API
- Position and margin tracking
- Auto-selection between SimNow environments (set1 / set2 / 7x24)
- SimNow simulated trading support
Installation
pip install bt_api_ctp
Or install from source:
git clone https://github.com/cloudQuant/bt_api_ctp
cd bt_api_ctp
pip install -e .
Quick Start
from bt_api_py import BtApi
# Configure CTP futures exchange
exchange_kwargs = {
"CTP___FUTURE": {
"user_id": "your_user_id",
"password": "your_password",
"broker_id": "your_broker_id",
"md_front": "tcp://182.254.243.31:30011",
"td_front": "tcp://182.254.243.31:30001",
}
}
api = BtApi(exchange_kwargs=exchange_kwargs)
# Connect and subscribe
api.connect()
api.subscribe("CTP___FUTURE___rb2401", [{"topic": "tick", "symbol": "rb2401"}])
# Get data from queue
data_queue = api.get_data_queue("CTP___FUTURE")
msg = data_queue.get(timeout=10)
print(type(msg).__name__, msg)
CtpGatewayAdapter API
The CtpGatewayAdapter provides direct access to CTP futures:
from bt_api_ctp.gateway.adapter import CtpGatewayAdapter
# Initialize adapter
adapter = CtpGatewayAdapter(
md_front="tcp://182.254.243.31:30011", # market data front
td_front="tcp://182.254.243.31:30001", # trade front
user_id="your_user_id",
password="your_password",
broker_id="your_broker_id",
gateway_startup_timeout_sec=10.0,
)
# Connect
adapter.connect()
# Subscribe to symbols
adapter.subscribe_symbols(["rb2401.SHFE", "IF2404.CFFEX"])
# Get balance and positions
balance = adapter.get_balance()
positions = adapter.get_positions()
# Place an order
order = adapter.place_order({
"symbol": "rb2401.SHFE",
"side": "buy",
"size": 1,
"price": 4000.0,
"offset": "open",
})
# Cancel an order
adapter.cancel_order({
"symbol": "rb2401.SHFE",
"order_id": order["order_id"],
"front_id": order["front_id"],
"session_id": order["session_id"],
"order_ref": order["order_ref"],
})
# Disconnect
adapter.disconnect()
Constructor Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
md_front |
str | "" |
Market data front address (tcp://host:port) |
td_front |
str | "" |
Trade front address (tcp://host:port) |
user_id |
str | "" |
CTP user ID / investor ID |
password |
str | "" |
CTP password |
broker_id |
str | "" |
Broker ID |
auth_code |
str | "0000000000000000" |
Auth code (for production) |
app_id |
str | "simnow_client_test" |
App ID |
gateway_startup_timeout_sec |
float | 10.0 |
Connection timeout |
Supported Operations
| Operation | Method | Status |
|---|---|---|
| Connect | connect() |
✅ |
| Disconnect | disconnect() |
✅ |
| Subscribe Symbols | subscribe_symbols(symbols) |
✅ |
| Get Balance | get_balance() |
✅ |
| Get Positions | get_positions() |
✅ |
| Place Order | place_order(payload) |
✅ |
| Cancel Order | cancel_order(payload) |
✅ |
Order Payload Format
{
"symbol": "rb2401.SHFE", # instrument.exchange or just instrument
"side": "buy", # "buy" or "sell"
"size": 1, # order volume
"price": 4000.0, # limit price (required for limit orders)
"offset": "open", # "open", "close", "close_today"
"client_order_id": "...", # optional, client-side order ref
"exchange_id": "SHFE", # optional, exchange code
}
Order Response Format
{
"id": "...",
"order_id": "...",
"external_order_id": "...",
"order_ref": "...",
"front_id": 1,
"session_id": 123456,
"exchange_id": "SHFE",
"details": {"bt_order_ref": "..."},
}
Environment Configuration
CTP supports three environments via CTP_ENV or env parameter:
| Environment | Description | Trading Hours |
|---|---|---|
auto (default) |
Auto-select based on time | Matches production |
set1 |
Production-like environment | Trading session only |
set2 |
7x24 environment | Non-trading hours |
For SimNow test accounts, leave md_front/td_front empty to auto-select the appropriate SimNow environment.
Online Documentation
| Resource | Link |
|---|---|
| English Docs | https://bt-api-ctp.readthedocs.io/ |
| Chinese Docs | https://bt-api-ctp.readthedocs.io/zh/latest/ |
| GitHub Repository | https://github.com/cloudQuant/bt_api_ctp |
| Issue Tracker | https://github.com/cloudQuant/bt_api_ctp/issues |
Requirements
- Python 3.9+
- bt_api_base >= 0.15
Architecture
bt_api_ctp/
├── src/bt_api_ctp/ # Source code
│ ├── containers/ctp/ # Data containers (CtpTicker, CtpOrder, etc.)
│ ├── feeds/ # Feed implementations (live_ctp_feed.py)
│ ├── gateway/ # Gateway adapter (CtpGatewayAdapter)
│ ├── ctp/ # CTP protocol (structs, client, trader/md API)
│ ├── errors/ # Error translators
│ ├── exchange_data.py # Exchange metadata
│ └── ctp_env_selector.py # SimNow environment selector
├── tests/ # Unit tests
└── docs/ # Documentation
License
MIT License - see LICENSE for details.
Support
- Report bugs via GitHub Issues
- Email: yunjinqi@gmail.com
中文
概述
本包为 bt_api 框架提供 CTP(中国期货) 交易所插件。通过 CTP 协议与中国期货交易所进行交互的统一接口。
支持的交易所
| 交易所 | 代码 | 描述 |
|---|---|---|
| 上海期货交易所 | SHFE | 金属、能源 |
| 大连商品交易所 | DCE | 农产品、化工 |
| 郑州商品交易所 | CZCE | 农产品、化工 |
| 中国金融期货交易所 | CFFEX | 股指期货 |
| 上海国际能源交易中心 | INE | 原油、铁矿石 |
| 广州期货交易所 | GFEX | 工业品、农产品 |
功能特点
- 通过 CTP 协议(v6.x)进行期货交易
- 支持所有中国期货交易所
- 通过行情 API 获取实时市场数据
- 通过交易 API 下单和撤单
- 持仓和保证金跟踪
- 自动选择 SimNow 环境(set1 / set2 / 7x24)
- SimNow 模拟交易支持
安装
pip install bt_api_ctp
或从源码安装:
git clone https://github.com/cloudQuant/bt_api_ctp
cd bt_api_ctp
pip install -e .
快速开始
from bt_api_py import BtApi
# 配置 CTP 期货交易所
exchange_kwargs = {
"CTP___FUTURE": {
"user_id": "your_user_id",
"password": "your_password",
"broker_id": "your_broker_id",
"md_front": "tcp://182.254.243.31:30011", # 行情前置
"td_front": "tcp://182.254.243.31:30001", # 交易前置
}
}
api = BtApi(exchange_kwargs=exchange_kwargs)
# 连接并订阅
api.connect()
api.subscribe("CTP___FUTURE___rb2401", [{"topic": "tick", "symbol": "rb2401"}])
# 从队列获取数据
data_queue = api.get_data_queue("CTP___FUTURE")
msg = data_queue.get(timeout=10)
print(type(msg).__name__, msg)
CtpGatewayAdapter API
CtpGatewayAdapter 提供对 CTP 期货的直接访问:
from bt_api_ctp.gateway.adapter import CtpGatewayAdapter
# 初始化适配器
adapter = CtpGatewayAdapter(
md_front="tcp://182.254.243.31:30011", # 行情前置地址
td_front="tcp://182.254.243.31:30001", # 交易前置地址
user_id="your_user_id",
password="your_password",
broker_id="your_broker_id",
gateway_startup_timeout_sec=10.0,
)
# 连接
adapter.connect()
# 订阅合约
adapter.subscribe_symbols(["rb2401.SHFE", "IF2404.CFFEX"])
# 获取资金和持仓
balance = adapter.get_balance()
positions = adapter.get_positions()
# 下单
order = adapter.place_order({
"symbol": "rb2401.SHFE",
"side": "buy",
"size": 1,
"price": 4000.0,
"offset": "open",
})
# 撤单
adapter.cancel_order({
"symbol": "rb2401.SHFE",
"order_id": order["order_id"],
"front_id": order["front_id"],
"session_id": order["session_id"],
"order_ref": order["order_ref"],
})
# 断开连接
adapter.disconnect()
构造函数参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
md_front |
str | "" |
行情前置地址(tcp://host:port) |
td_front |
str | "" |
交易前置地址(tcp://host:port) |
user_id |
str | "" |
CTP 用户 ID / 投资者 ID |
password |
str | "" |
CTP 密码 |
broker_id |
str | "" |
经纪公司 ID |
auth_code |
str | "0000000000000000" |
认证码(生产环境用) |
app_id |
str | "simnow_client_test" |
App ID |
gateway_startup_timeout_sec |
float | 10.0 |
连接超时时间 |
支持的操作
| 操作 | 方法 | 状态 |
|---|---|---|
| 连接 | connect() |
✅ |
| 断开 | disconnect() |
✅ |
| 订阅合约 | subscribe_symbols(symbols) |
✅ |
| 获取资金 | get_balance() |
✅ |
| 获取持仓 | get_positions() |
✅ |
| 下单 | place_order(payload) |
✅ |
| 撤单 | cancel_order(payload) |
✅ |
下单 Payload 格式
{
"symbol": "rb2401.SHFE", # 合约代码.交易所或仅合约代码
"side": "buy", # "buy" 或 "sell"
"size": 1, # 委托数量
"price": 4000.0, # 限价(限价单必须)
"offset": "open", # "open", "close", "close_today"
"client_order_id": "...", # 可选,客户端订单引用
"exchange_id": "SHFE", # 可选,交易所代码
}
订单响应格式
{
"id": "...",
"order_id": "...",
"external_order_id": "...",
"order_ref": "...",
"front_id": 1,
"session_id": 123456,
"exchange_id": "SHFE",
"details": {"bt_order_ref": "..."},
}
环境配置
CTP 支持通过 CTP_ENV 或 env 参数配置三种环境:
| 环境 | 描述 | 交易时段 |
|---|---|---|
auto(默认) |
根据时间自动选择 | 与生产一致 |
set1 |
类生产环境 | 仅交易时段 |
set2 |
7x24 环境 | 非交易时段 |
使用 SimNow 测试账户时,留空 md_front/td_front 可自动选择合适的 SimNow 环境。
在线文档
| 资源 | 链接 |
|---|---|
| 英文文档 | https://bt-api-ctp.readthedocs.io/ |
| 中文文档 | https://bt-api-ctp.readthedocs.io/zh/latest/ |
| GitHub 仓库 | https://github.com/cloudQuant/bt_api_ctp |
| 问题反馈 | https://github.com/cloudQuant/bt_api_ctp/issues |
系统要求
- Python 3.9+
- bt_api_base >= 0.15
架构
bt_api_ctp/
├── src/bt_api_ctp/ # 源代码
│ ├── containers/ctp/ # 数据容器 (CtpTicker, CtpOrder 等)
│ ├── feeds/ # Feed 实现 (live_ctp_feed.py)
│ ├── gateway/ # 网关适配器 (CtpGatewayAdapter)
│ ├── ctp/ # CTP 协议 (structs, client, trader/md API)
│ ├── errors/ # 错误翻译器
│ ├── exchange_data.py # 交易所元数据
│ └── ctp_env_selector.py # SimNow 环境选择器
├── tests/ # 单元测试
└── docs/ # 文档
许可证
MIT 许可证 - 详见 LICENSE。
技术支持
- 通过 GitHub Issues 反馈问题
- 邮箱: yunjinqi@gmail.com
Metadata
Release files for bt-api-ctp 2.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bt_api_ctp-2.0.2.tar.gz | 13.3 MB | Details |
Built distributions (wheels)
Total release size: 264.0 MB
Release files / bt_api_ctp-2.0.2.tar.gz
| Download URL | bt_api_ctp-2.0.2.tar.gz |
|---|---|
| Size | 13.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
60f06c355509c2affb77f6ba3d53b6aceed74863e7512b6c9db1e7340b5ebbf9
|
|
BLAKE2b-256 checksum How to use checksums |
2a7bf109a3b78d9e2dee1c88ee041a675cd2fda4ab33fdcae8885751d3442801
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp314-cp314-win_amd64.whl
| Download URL | bt_api_ctp-2.0.2-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 6.0 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
42948c92c4d76779f63a39801378505836959a889c79ad16ef4f21bea44b194b
|
|
BLAKE2b-256 checksum How to use checksums |
6ae7fed071836806fb39e020d4ae885a4fc38d67e15e7ff967e1fcb5dc642912
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 17.5 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
85fdeb18bf8b9ca59d1d1197fd4f2114c731702e38ace72f2b5a5e62a5f56135
|
|
BLAKE2b-256 checksum How to use checksums |
2ed0125b704a9fafd4e8667b784568973cfca87ea0eb81c3818aa16996fbd628
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp314-cp314-macosx_11_0_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp314-cp314-macosx_11_0_x86_64.whl |
|---|---|
| Size | 9.3 MB |
| Tags | CPython 3.14 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
20b1309e2aa3934747c12ab743db5c4fa73dc4dc4ef7dfc3013174df2df517b9
|
|
BLAKE2b-256 checksum How to use checksums |
37e8e72f6eef77b88b43722618b85d0b9e7b888d790ba3541f8ce4627b37702c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | bt_api_ctp-2.0.2-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 8.9 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b316a86dc5a588444be63bf3b58b11114c0ef32c9510d61e76d074137f4b098f
|
|
BLAKE2b-256 checksum How to use checksums |
6147f68862fc102fb3e951531289684c3b91a0fa7c0cb482a92907b22013e55d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp313-cp313-win_amd64.whl
| Download URL | bt_api_ctp-2.0.2-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 5.8 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1c5839c3d375dea5ef85527c61cf247ffb3e24b0de199e6e361efc9811e37e66
|
|
BLAKE2b-256 checksum How to use checksums |
1a0f12864f199701357ee85a893c8a7caee99f0ee1bc163a63833d038891ecfd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 17.7 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d6fc48eb4b6a23e79db8a1e07767cf7ec4003df8720f52cc4c5ec8cff5ed1567
|
|
BLAKE2b-256 checksum How to use checksums |
3e194d6c530ca7f3f13775662c76ee1e4445ba2c9b0721c0889ad17ea7554673
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp313-cp313-macosx_11_0_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp313-cp313-macosx_11_0_x86_64.whl |
|---|---|
| Size | 9.4 MB |
| Tags | CPython 3.13 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
6b1f742daa20282c4588fd5366dbff0465529172711b53bd15fbfffad38f03f9
|
|
BLAKE2b-256 checksum How to use checksums |
8aaf2dc5929b309fb02f04e7ca63307a20deedb31f9f670c4b1415ece99a66af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | bt_api_ctp-2.0.2-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 8.8 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
75cd5acda64729eaea174567f898c3e6da2dca209c7d7ae868f0366e88a1070c
|
|
BLAKE2b-256 checksum How to use checksums |
efd4422f28fdbf8dce3529415d738fd4153738342307ccc53cdf66cef31ff417
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp312-cp312-win_amd64.whl
| Download URL | bt_api_ctp-2.0.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 5.8 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
492b8b93f496c03ad206cedd83bc0f44162cc5941ddbb6afd2c911e4ad36ba9b
|
|
BLAKE2b-256 checksum How to use checksums |
ad130ae888b8cd68e4bda844aad1ad17910cb84f5982c5797e5aeb7da3a413bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 17.7 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8dd009d7da26d9886fbc86d35b884a616e4810b9b776cc0793e254e284e00621
|
|
BLAKE2b-256 checksum How to use checksums |
6222db4cfc88c42b7886124461cf52c846e832fe511aeca8ee8732fefebb4dad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp312-cp312-macosx_11_0_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp312-cp312-macosx_11_0_x86_64.whl |
|---|---|
| Size | 9.4 MB |
| Tags | CPython 3.12 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
0f271f0238fbf83063d312330ddc17f3839e8e5ecfa6446ba28452ac19ec45e9
|
|
BLAKE2b-256 checksum How to use checksums |
c56eb4fe6d291967434df5d5dea4610ac840571356f34847a54ffac19e7322c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | bt_api_ctp-2.0.2-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 8.8 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7d2f8f54e08351fb6db5078f1f9b5119bd39e1c29cfe934a4ff3c5e8234bae72
|
|
BLAKE2b-256 checksum How to use checksums |
0d604af5c953fbfacffa1d02ce7925c21c854f41bde41da76cc808ecd6764eab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp311-cp311-win_amd64.whl
| Download URL | bt_api_ctp-2.0.2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 5.8 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
03aeb488f6a2d1ca7b13d73e439ce2f408454df361fab8d8fda4b21591a41955
|
|
BLAKE2b-256 checksum How to use checksums |
647e6b365f91f89ca18eec94c58cc61fe65e3b84fc5ae6a0e8baca92b6f07f3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 18.0 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1f73221944f4d3be6206519b58387616ebf5540c401c20ce75f999b342cf5f7f
|
|
BLAKE2b-256 checksum How to use checksums |
65386c417c0cae433807ad6e0323fd72d4161aa42e912410fa63537735656d03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp311-cp311-macosx_11_0_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp311-cp311-macosx_11_0_x86_64.whl |
|---|---|
| Size | 9.2 MB |
| Tags | CPython 3.11 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
cecde7a6d1d3ae0980789f458c9cd44637c83c86261b1aa64bb3eafc27ffbd58
|
|
BLAKE2b-256 checksum How to use checksums |
4cf0451d8813fdc6e8764f73302b4569a7fe81b38694d0d0979f141370f4e306
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | bt_api_ctp-2.0.2-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 8.9 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a93986e4409eb14d9d6e18e0ff6720418049c68bcc5dcb900e682929870934d8
|
|
BLAKE2b-256 checksum How to use checksums |
e4fa209364f2156775c2a961ac7a25d3200a3a7b8ddbe441528db6e4de6c5861
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp310-cp310-win_amd64.whl
| Download URL | bt_api_ctp-2.0.2-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 5.8 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
30df88e8ff1f1cbb799a498cead6c2c0fa5f3b98c8a12e6073d5661423f3c0f5
|
|
BLAKE2b-256 checksum How to use checksums |
eb931a3bc8f66a02b2d20e086f17e6b479d7bd9c49c4e60a4cd2ad95c28af558
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 17.9 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a844ff9af3117e18812ae0cd52d85a97f919a82ee4b6fba7d3bf8d8327e58dbf
|
|
BLAKE2b-256 checksum How to use checksums |
4fa6af725dd06d485b930233e30db9813d93b34ab6310c9eba6bf201b8f23891
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl |
|---|---|
| Size | 9.2 MB |
| Tags | CPython 3.10 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
6bdd766b3928735ba2396969c8a520c85d7e8c4a77273195c4d2b1adc29cc01d
|
|
BLAKE2b-256 checksum How to use checksums |
827b104bdac1f40ac493824466dce5ee14221dd383372f95805be2fa6dbf18f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | bt_api_ctp-2.0.2-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 8.9 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
73a048ca37e6fc1ea1b6f3714dc56168ed3d9b7a63be6125c73a6691e647780e
|
|
BLAKE2b-256 checksum How to use checksums |
d1e9f33aa467257c19923922a642cedc2430ece50e7b6041c3a0203519a525fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp39-cp39-win_amd64.whl
| Download URL | bt_api_ctp-2.0.2-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 5.8 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6c1a4b01eecf20c75b850fa11a05292bd8f6dfbbca5ce21b762de434d9d3a52f
|
|
BLAKE2b-256 checksum How to use checksums |
66a39b283c81b9932973bacb027099df355770836a06ec93bd6bcd048d85499d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 17.9 MB |
| Tags | CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
77cecd77ec07461f1d3ed5ad5bc6fcb62398d621375562c6239c39aec3911d67
|
|
BLAKE2b-256 checksum How to use checksums |
defe9c0b552a3e7f5bedd27167824f1e94551ca98ebff266fc6d4f528a9ea61a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl
| Download URL | bt_api_ctp-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl |
|---|---|
| Size | 9.2 MB |
| Tags | CPython 3.9 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
200a2fb97cc3e0a0dac52921a5319d8942762799167c650976f54756ccbb96b0
|
|
BLAKE2b-256 checksum How to use checksums |
7a5bef3073fc0b2389aed0a52c8e542f1913807cb82b0cf4bc7ba96286772a03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bt_api_ctp-2.0.2-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | bt_api_ctp-2.0.2-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 8.9 MB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8c4dcec315423590a2694f86500dc60b5f1e0696e986b3976781c1a8c131a6fa
|
|
BLAKE2b-256 checksum How to use checksums |
668aecd51c600e8ace8d4265a21d5162cec6c0595010c35a2e446ea886eee832
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|