Skip to main content

CTP (China Futures Market) Python API Wrapper with multi-implementation support

Project description

ctpx

本项目使用 SWIG 将 CTP C++ 接口封装为 Python 接口,支持官方 CTP 库或三方兼容库(如融航、杰宜斯等)。

构建

依赖

若从源码构建,需要安装以下工具:

  • Python >= 3.12
  • SWIG
  • Boost
  • CMake

macOS

brew install swig boost cmake

Linux

sudo apt install swig libboost-all-dev cmake

编译及打包

项目使用 scikit-build-core 作为构建后端,构建时会自动调用 CMake 编译 SWIG 扩展并打包成 wheel。

./build.sh
或者
uv build

Linux manylinux 发布版

发布到 PyPI 的 Linux wheel 需要在 manylinux 容器中构建并使用 auditwheel repair。本项目通过 cibuildwheel 在 GitHub Actions 中完成这一流程,详见 .github/workflows/build-release.yml

使用

  • 安装 wheel
pip install dist/*.whl
#或者
pip install ctpx
  • 官方 CTP 实现
from ctpx.ctp import mdapi, tdapi

trader_api = tdapi.CThostFtdcTraderApi.CreateFtdcTraderApi()
md_api = mdapi.CThostFtdcMdApi.CreateFtdcMdApi()
  • 融航实现
from ctpx.rohon import mdapi, tdapi

trader_api = tdapi.CThostFtdcTraderApi.CreateFtdcTraderApi()
md_api = mdapi.CThostFtdcMdApi.CreateFtdcMdApi()

注意事项

  1. 同一进程只能使用一种实现:不可同时导入 ctpx.ctpctpx.rohon
  2. Windows DLL 搜索:Python 3.8+ 使用 os.add_dll_directory,旧版本需要设置 PATH
  3. Linux 预加载:使用 ctypes.CDLL(..., RTLD_GLOBAL) 确保符号全局可见。

参考

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ctpx-6.7.2.6-cp312-cp312-win_amd64.whl (45.2 MB view details)

Uploaded CPython 3.12Windows x86-64

ctpx-6.7.2.6-cp312-cp312-manylinux_2_34_x86_64.whl (31.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

ctpx-6.7.2.6-cp312-cp312-macosx_11_0_arm64.whl (9.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file ctpx-6.7.2.6-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ctpx-6.7.2.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 45.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ctpx-6.7.2.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3ea83835766c8c55651551b1052286812e5d1adb865fa7b6de29d8135705a62d
MD5 128d51fde845a67a38cd84168128d89c
BLAKE2b-256 16fa6d5c06f0b8f1f7e0e8f2cb27fdca4e514c56cbaa1336de48eafeaddc5e7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ctpx-6.7.2.6-cp312-cp312-win_amd64.whl:

Publisher: build-release.yml on csuduan/pyctp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ctpx-6.7.2.6-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ctpx-6.7.2.6-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f7e4dc8c60996eab8cc03cfa765488dba9ab6634376566fefb1a89656cdd3a58
MD5 b3f3920be258bcb3ff35ef6148beb9c3
BLAKE2b-256 d4028cd4c34166c1e1609490dca7aca79115714508807cbdd2699a5c232aa273

See more details on using hashes here.

Provenance

The following attestation bundles were made for ctpx-6.7.2.6-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: build-release.yml on csuduan/pyctp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ctpx-6.7.2.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ctpx-6.7.2.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 65cd140656d8b69bc05ac41aebfc24252f1bafc10bd307fddb002b76b5c1419d
MD5 95cfd69d76aeef4581d809037c019073
BLAKE2b-256 eb482194838062522e2732e8bdb66c5fbef3b779704610f972be484f99b8e5d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ctpx-6.7.2.6-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build-release.yml on csuduan/pyctp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page