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.2-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.2-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.2-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ctpx-6.7.2.2-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 676c28cea02636c94efe04c26da21d9f59ac06ad4e468a9cce1ea8fa66fbf8f6
MD5 406c786c8c7220a827e76e63b623d64a
BLAKE2b-256 2b4e73e89d098cf3aca569a2d265d23632e800ed580de428153fe08c5e9fdad4

See more details on using hashes here.

Provenance

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

Publisher: deploy-pypi.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.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ctpx-6.7.2.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88cf3c5ae2d8da1572b97c0022ab263714db9311d2f4a81c3470213a558e9218
MD5 894828467712dba3e57d38c2ba8d417d
BLAKE2b-256 ce7b5418016e34d70fd19e42ad34dde332527781115cd1cfbea17bfafc57cad6

See more details on using hashes here.

Provenance

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

Publisher: deploy-pypi.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