CTP for python
Project description
# Python版CTP期货接口
这套接口使用swig为官方C++版CTP接口提供Python版API,同时支持Linux/Mac/Windows。
## 注意事项
本项目出于个人兴趣及分享目的,与上期所CTP官方无任何关系。本人不对使用这套库的任何后果负责。
本人生产环境使用Linux,其他平台仅编译测试通过
已通过github workflow编译好发布至pypi
Linux已测试环境:Debian stable amd64
Mac已测试环境:Mac OS Ventura(M1 Mac Mini,API版本6.6.9以上,Intel Mac未测试)
Windows已测试环境:Windows 11 64位(API版本6.6.9以上)
api目录中结尾带`.c`的版本号为测评版
CTP返回的GBK编码字符串已经全部自动转换为UTF-8
市场数据中的极大值代表无数据,为可读性起见打印整个结构体时会显示为None
## 安装方法
` pip install ctp-python==6.6.9 `
只支持6.6.9及更新的CTP版本
已编译的二进制版本支持Python3.7 - 3.11
已编译的二进制版本支持平台:Windows amd64,Linux amd64,MacOS arm64 和 amd64
其他版本请自行尝试编译(前提是有对应的CTP C++链接库),具体方法见下
## 编译环境准备
#### Windows 11
1. 安装编译环境 ` winget install Microsoft.VisualStudio.2022.BuildTools ` > 然后菜单栏搜索并打开Visual Studio Installer,修改Build Tools的配置,将使用C++的桌面开发勾选上并安装
2. 安装Python(以miniconda为例) ` winget install miniconda3 conda init `
3. 安装swig命令,以及iconv库 ` conda install -c conda-forge swig libiconv ` >可能需要关闭并重新打开命令行
#### Mac OS
1. 先在App Store中找到并安装Xcode,然后再安装Xcode命令行工具 ` xcode-select --install ` > 在弹出的窗口确认
2. 安装Python(推荐使用pyenv) > 略
3. 安装swig命令(以homebrew为例) ` brew install swig `
#### Linux
> 使用系统自带包管理器安装swig和gcc/g++编译器即可
> 推荐使用pyenv安装管理python版本
## 安装说明
1. 克隆代码到本地 ` git clone git@github.com:keli/ctp-python.git cd ctp-python `
2. 编译安装 ` python setup.py install ` > 或 ` pip install . `
版本选择(可选)
目前默认使用的是6.6.9 版本。如果需要链接和使用其他版本,只需要在编译安装前,设置API_VER环境变量为相应版本即可。
以6.6.9.c版为例:
> Linux/Mac(bash/zsh): ` export API_VER=6.6.9.c `
> Windows: ` set API_VER=6.6.9.c `
## 测试
> 打开python shell,检查是否能正常import ctp
` $ python Python 3.11.3 Type "help", "copyright", "credits" or "license" for more information. >>> import ctp >>> `
> 跑一下测试(以simnow服务器为例,需要在simnow网站注册用户) ` pytest -s tests/test_trader.py --front=tcp://218.202.237.33:10203 --broker=9999 --user=<investor_id> --password=<password> --app=simnow_client_test --auth=0000000000000000 `
## Linux下穿透式监管信息采集常见问题
到底需要不需要LinuxDataCollect.so?
自写CTP程序直连是不需要的,如果你不确定,那就是不需要
报错Decrypt handshake data failed
CTP版本与服务器端不一致,首次跟期货公司采集的时候请用“评测版本”如6.3.13,后续生产环境请用“生产版本”如6.3.15
报错 dmidecode not found
通常默认都有装,加一下dmidecode命令的相关路径到PATH,一般是/usr/sbin
报一堆 permission denied
给dmidecode加下权限`sudo chmod a+s /usr/sbin/dmidecode`
拿不到硬盘序列号
Debian系可以`sudo adduser username disk`把自己加到disk组(加完需要重新登录,输入`groups`确认自己已经在disk组里),或者直接给磁盘设备文件加读权限`sudo chmod a+r /dev/sda`
不知道什么情况,xx数据拿不到
用以下python脚本自己慢慢试吧,当打印出来是第一行结果是0则成功了,否则是-1。第二行是取到的信息,格式为```(操作系统类型)@(信息采集时间)@(内网IP1)@(内网IP2)@(网卡MAC1)@(网卡MAC2)@(设备名)@(操作系统版本)@(Disk_ID)@(CPU_ID)@(BIOS_ID)```
`python import ctypes dll = ctypes.cdll.LoadLibrary('./thosttraderapi_se.so') info = (ctypes.c_char * 344)() length = ctypes.c_int() print(dll._Z21CTP_GetRealSystemInfoPcRi(info, ctypes.byref(length))) print(info.value) `
## 其他常见问题
为什么报UTF-8和GBK的转码错误?
这个是内存管理的问题而不是转码的问题,ctp库会释放掉它传给你的回调函数的内容,当你打印的时候这块内存已经free掉了,所以就报转码失败了。这个最理想的处理是改swig定义来自动把相应的结构体内容拷到python,但是我还没太搞清楚怎么在swig中做这件事。我自己的代码里面需要缓存起来的ctp结构只有很少的几处,直接在用户代码中手动拷贝到自己定义的python数据类型就可以了。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for ctp_python-6.6.9-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c725b252f5e944ccff9a6e4d29e4425ded80c84d201aab3d7df2192a467cf22a |
|
MD5 | 24da834362ed62ac8e5d00626c067347 |
|
BLAKE2b-256 | 3e69462b36caa4be04df13c453e638c4418aa8ac1ef5237552e80cb553de4f35 |
Hashes for ctp_python-6.6.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2140fa05a8de739e3113fc11ec142ba781cc3b0189c161f948517e52dc514494 |
|
MD5 | 69efbd88a6308d2eb0becb8f50c3bbb3 |
|
BLAKE2b-256 | d5fd2e274729109db201c18ead99879cf03fce3b828927622c6168d1c52f73a2 |
Hashes for ctp_python-6.6.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6205d9c0864155ea6282be36b10166211a8a055ea5fe021b72083e3dc3b7abe4 |
|
MD5 | 1014eaee6eaa149d239f4f7765cc42ce |
|
BLAKE2b-256 | fb16bcb0e0cf27cfcb01b3e8a8150328c7a713fa742dac31a06d7319cbe6f765 |
Hashes for ctp_python-6.6.9-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de9c39c1f91710faf34d6c09d55b6de4dec7b17d4ab857a69e84fef3d498684c |
|
MD5 | 2b71417548bce5b9a0344e46b19dddb7 |
|
BLAKE2b-256 | 1b2ad43874421141101f78e350d029b440e0ea16eb5aff1a158a66ca7acea09c |
Hashes for ctp_python-6.6.9-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bef54b1145e6ed9cb140d423b8dd377d3f4a8edb25085c0e5c7bc4e7bebbe50 |
|
MD5 | 1fffa9e9187a9803c42e21a587bc8921 |
|
BLAKE2b-256 | 88640ac0949cb5d1fabacf3c2e5c96f6deff9903f63e16dea3a5cb07e7eaeb55 |
Hashes for ctp_python-6.6.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec865410f72d3017dcdb52fba73c0c2c6b11a5f11ca0ed17afc462d0d551562f |
|
MD5 | 5f674de3ce0246fac65f324179f06963 |
|
BLAKE2b-256 | 00fae3a99eec7480c235255976547fe27f4cd88823c8a6ed47daa4f24565f6d0 |
Hashes for ctp_python-6.6.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fa766848ee0f3309272b048318309965ed176715df09d10cb81698b40b8d40d |
|
MD5 | 1b62ee669be9f7f7608cc9328ffa02fd |
|
BLAKE2b-256 | 23eb8a68163cdd7c0f95f23e0f05a846d2bccf3c662329db140293c9b0b9e926 |
Hashes for ctp_python-6.6.9-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8f7333585ee5bddfa8a3ac745f3f290c5eda61fc8fb5d51981ce2a5d0971415 |
|
MD5 | 9031083bdde95f2cfcb1519d05c13274 |
|
BLAKE2b-256 | e9db410d02bfcdf01a65e50a921e183b40863f620d44125dbe8f23b56333a8e7 |
Hashes for ctp_python-6.6.9-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ef2d77856601a98ed02e4254c76de18e40032db5e6850e1fd0a6ca9fb60f4b3 |
|
MD5 | 5cd9e47f310380249f4ac5581fc0e717 |
|
BLAKE2b-256 | ff73b31fe061a2e53e6260b1ce8c7023023331133706ddc58803f5e0da5e931a |
Hashes for ctp_python-6.6.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a94f3261f000363fa75219e36ed5a2e1c82340c8252bec34ded9234a38da41a6 |
|
MD5 | 155df84e2046d17811f49a59dc73f4d5 |
|
BLAKE2b-256 | fd9a78ae88cd31b8fe8e194e519362419603b165f7f0121467bff4bc36994a06 |
Hashes for ctp_python-6.6.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81e43c0d0484c64c02569f387e1a6c8d4cdfe968d0d8a093f32e3af4792e5900 |
|
MD5 | 346775285d7f1a9c125b53b26378c28e |
|
BLAKE2b-256 | d8023793859df517a4dbd3fddbcfa3000b90e279f3472cf56b5caa631c98d7be |
Hashes for ctp_python-6.6.9-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16ee34dd3ccbcfd28881f8639d4336e18a01ba545c8397994140144fc4099b81 |
|
MD5 | 048767042256e4ea922aa0c33d1f8ba1 |
|
BLAKE2b-256 | e202dced338970b1a287a188e5e9e86674ee971820192918d6677b53ab1f405d |
Hashes for ctp_python-6.6.9-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ab1df5dee5ef7931ed13aeeeb0df0f60964aaabc5d2e2e4d2db22c0c6d7f1e6 |
|
MD5 | f81474e2b17f1f9bdcf9eafdf5cd738a |
|
BLAKE2b-256 | fdcf539a343e280412bfc108ef5823baddaca00dd4484c6a5d3ce0a8ac5fcd71 |
Hashes for ctp_python-6.6.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6af3c6d07e6d5663cfcf33896a645c13c5607182e97dd5b3080f7b06d0a3f784 |
|
MD5 | be98a1e7f55c25d7dce80fcfd3dd3946 |
|
BLAKE2b-256 | 15d556b4a73d6554cf7f8bd0998cadf9e50e5c597a065ea915db716fe028fc2d |
Hashes for ctp_python-6.6.9-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18553eb920d98d6330a8d80855bd94e1a3c1dc385b926aef78455b0fe9d55dd0 |
|
MD5 | 39dd06107d541a1997337f1e618ad122 |
|
BLAKE2b-256 | b8d664c303f470fa7f40a12000e4a9c6ed7d4b7b66a226a9ae7436969dcd6538 |
Hashes for ctp_python-6.6.9-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab3634571e767a6df271e3d400861ad1cc1b0323d2fba020949ba739a2088cf4 |
|
MD5 | ed2669fcbdb93b510b3c4f3841d9db76 |
|
BLAKE2b-256 | d6497527aa1a1cc8c677b137d00d21df8f68be2c656e056a1d8af6254c5a9c0e |
Hashes for ctp_python-6.6.9-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 992f209de0c29dc0108e6a9a9934c61330a2f7f81758d8e638221efb147212be |
|
MD5 | 4fec64bf31a0d2f00c25bed3d8f4a23d |
|
BLAKE2b-256 | 731d9572805b604aa83eee93750292f4f30c4481fa93584474b18b0a751d324b |
Hashes for ctp_python-6.6.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa6eef90971ef3543064f8e1b989353fff0403f80b4e175958e2d65608ae63da |
|
MD5 | 45bd2698d824f15b4c25b9c31a930b07 |
|
BLAKE2b-256 | ef5ed56e65727831a2ff66be69531a886b8a7afbe0509ce0969d6202a88461f5 |
Hashes for ctp_python-6.6.9-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3fc8b1769c107123d747cf51bfcf3bf0f21778fce5c582a4a81533a7fa1bc42 |
|
MD5 | c20386d67966ace1652dee66fa82eb57 |
|
BLAKE2b-256 | 080f00b80a0961216911f2ffb92bb1831dee2014be589f52db602272d6bbeb93 |
Hashes for ctp_python-6.6.9-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69850b1226c00c1878c92ad3f8a6b6f42942bf87691d2fc3813971633aa2232d |
|
MD5 | 5a23a139c009479b58a642b6fd8f5b77 |
|
BLAKE2b-256 | 4e97900ee86aa53f64ec3dba8d336163a1c14cfe5ba45eef6b9a3a2612c574a3 |
Hashes for ctp_python-6.6.9-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a6f1346dc4bda771b5238d2186696dea87a1d948ce886404fef1763e8de3bc0 |
|
MD5 | 20ea7774c6d367569608c92a0b04dc37 |
|
BLAKE2b-256 | 38cc0146a3f093e7176784c266f4775139e6586c4df4fd977ff09b6cd2096947 |
Hashes for ctp_python-6.6.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64a692745bc7809a53236df0f17fe562335f439fffd28992edcc09768f2d14ee |
|
MD5 | 714283cc4621d0cbbafd31c1a919a8ba |
|
BLAKE2b-256 | e533bb91ce55c8ff3345934f3a493b4f0e7a21f5496e852624b70d364e9621d8 |
Hashes for ctp_python-6.6.9-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b9a70fa1a1f7f90ca8ab92d65609369fe2fdb69e9026d9d96debfb899b2c308 |
|
MD5 | b6653c998d1d811f2e9ce9a864aaf2be |
|
BLAKE2b-256 | 95c821ae56d7439a167cdd0cdcaf41737f8fe1f8e8935978d0658afde46133fe |
Hashes for ctp_python-6.6.9-2-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac96a56adb71c5fbdd31e310b7d60b1eb7596985dc58d65811dc84281553c260 |
|
MD5 | e02f738cb0000e46dc738bf590f21934 |
|
BLAKE2b-256 | 278b7369ae2f18d4bf6625c4214baf8943e39729e505e6dba133928d2a3925a0 |
Hashes for ctp_python-6.6.9-2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a785c08c637423de244939c1aecad4267e568f2a87df6ce67682e7456a0fa76 |
|
MD5 | 2d42c3bffee4592574ba2d2156d4a533 |
|
BLAKE2b-256 | 9e1bff99895d88c670a91748e5cf408c91fb628e4704b070bd635abea13e3d52 |
Hashes for ctp_python-6.6.9-2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e6138cba6647867262195043e53793e533ad3fde73db3f98393769303712476 |
|
MD5 | fec44a63269eea1ab34e64b1b9af3571 |
|
BLAKE2b-256 | 20bea552188322389b9105be5aa802f48105ce409ad0c47a3fd0f59ce1bc5c65 |
Hashes for ctp_python-6.6.9-2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3920bbf5d3400d1a9c9511f70ddccb07b11c12796c85e26b5fad140a3b471c2b |
|
MD5 | 584caf014f301d4ba8910936f70821a0 |
|
BLAKE2b-256 | f01b42d01df88dc1f86b56fb47800bb2927b48a0a7ea8f2839ed60769efe2c9d |
Hashes for ctp_python-6.6.9-2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dffbd6c2651e4719702456d58aa165ef329e12994dda1c6412e707e53fcf4dcf |
|
MD5 | b39ec2b8ce54f169287ef82806c2e5e8 |
|
BLAKE2b-256 | 92f5390f0b01caac3b1cbf1b78d0cbc9c2c1b0cfd36c7d9f0a99b86da6a27bd2 |
Hashes for ctp_python-6.6.9-2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f31702a101e6fd2992cba0483306b46099b489de7fffda2326022cebd328c5c4 |
|
MD5 | 8a9d0d14fe525e0d0590c6cba289dbc5 |
|
BLAKE2b-256 | beb898b573288adfd0865cd28fa9dae76e5edcc204e9fb1184ac924f6c5bca5c |
Hashes for ctp_python-6.6.9-2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9ff052145c1c014350c962334b4c8e6f8fb6ddc37fbdc95de0531890821e1c4 |
|
MD5 | c23191c2f9beef3b35a80fff728055c2 |
|
BLAKE2b-256 | 01ab652ffd75e9c30d57971fd6843697b4e7a0bfaf82ba05c44aee92e61be9ab |
Hashes for ctp_python-6.6.9-2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03b129232a485a9cb57455eada357a9a6d5b9ba4d71f49affbe94495be567a1b |
|
MD5 | 7155e8dd8f23b11dd4d5f2d99cef931a |
|
BLAKE2b-256 | 486b65fe46cca090460f823182f77a536d68601fe5bf1cc71f83aa9ac4665591 |
Hashes for ctp_python-6.6.9-2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a15a0d4a6a683c5636d81ab357805644274fd9a576c739ac2b3a8429fe578df3 |
|
MD5 | 9d528054b2570b5975418c072a821cef |
|
BLAKE2b-256 | d75ed4c725a825976a43b59cc286987c5f69ebe6594e5ab578e58b1ab064db6a |
Hashes for ctp_python-6.6.9-2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59af0a44f7c2336ed3b123a9f4480bed1fd4673e45bbd220b796473ee06aeab3 |
|
MD5 | 75de00470463d485e46e09c52f5bf4e9 |
|
BLAKE2b-256 | 8174285826ded8360591e22254321d12cb1acd7ca9c030983de59645e1f21aec |
Hashes for ctp_python-6.6.9-2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f228d7b10e8d26d7835c52b6de536ebb036c2663af11e2e861b0fd4d23278331 |
|
MD5 | 84844cf90d2bad7c8c1fc011728e9e6c |
|
BLAKE2b-256 | f88ecc025d8bb3035acad8f96b550fe848d6840f87d3ce1df85c603043ef18f2 |
Hashes for ctp_python-6.6.9-2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 264b79b06c0802af2bb233f3c6c1940e51bc2cd997f74e3367a937e434fa82d0 |
|
MD5 | 79a0d3d218a8a7480473b0741c7a7cab |
|
BLAKE2b-256 | f16a833913ed1274b7d8a2d4b51bf084775ae0bde5335926a9a284df536b6e8c |
Hashes for ctp_python-6.6.9-2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6390b4181cd2fd04de7d08461dd68c8bb6923a62065072d5fc4f9c147179feb9 |
|
MD5 | 17d94c6c2ea1091a4e34d4ac6614e871 |
|
BLAKE2b-256 | 15699e337eb5d3f89a04563c7d1ed27e7806b1fa1da460c5b69f497188a1190d |
Hashes for ctp_python-6.6.9-2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8290382c7cd8b0f95c5fc212afad2bf7d0db3ba51eedddac0c5c9a41ad6d2a30 |
|
MD5 | a75838fd89b856fbc4d77c5375e9728d |
|
BLAKE2b-256 | aafe265ae5ab4402773d7ff0bab5da07416d87c3f73a55bdf3e0228b1bbaac85 |
Hashes for ctp_python-6.6.9-2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf4d2cb63d953aecdf69d219aad9ead717ce14b3560574c874bbc9606f867eb7 |
|
MD5 | 3ca21fd70d86a0d9319444a6d1644789 |
|
BLAKE2b-256 | 0e8d35a4e2b66822639a47700aa38433f7840dc967c0ff555e2868b88f6514fa |
Hashes for ctp_python-6.6.9-2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 722b6449162a1c241f6fac300feb460af52a87954f67a7cb0643e7ca52d9513b |
|
MD5 | 02b538c41313abd4a9ea0b3d515a0c83 |
|
BLAKE2b-256 | 065d7baf9f1801ed83623ef50811da78ffe8d47f30f043d5d6771f874cda01cf |
Hashes for ctp_python-6.6.9-2-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d17b9b447f05bc6e9103e3e33383883879860ea0a288237d0a8d0129bd2548d |
|
MD5 | d2ff9b739d7b0ddae684af06364e1ed8 |
|
BLAKE2b-256 | ab100d8c9862a735fb3eb1899c69d8a9fc759848f95bb380430a433933f7084d |
Hashes for ctp_python-6.6.9-2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7314a7be5a1f0d29109855ff0c6968e11815eff9b64bf29e1f993b3496a03e6f |
|
MD5 | e9f15a0d8fcdb52ad9ea078e6d7cee89 |
|
BLAKE2b-256 | 55c6e63f473f20bd18b57d4c790c58361deff724a96d46902c4389455ea875a1 |
Hashes for ctp_python-6.6.9-2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4523e41bb328626ef8feda0e7568d06133b86f821fc6a1d0475e35bd8aa9d81 |
|
MD5 | f298f6f3ea3b9e3626cabc3727a50891 |
|
BLAKE2b-256 | 6a18351b6db7c176456b8e48f40e6eb3f6ed8bd6f5d6f9b7e51d39fbcb1aaedb |
Hashes for ctp_python-6.6.9-1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a68ec26914f3afd1e85cbc2519ec4301167a6a6c7870133f5f7c770a87b16550 |
|
MD5 | 7646ce8ed8a7e633da450b2e5673d5d9 |
|
BLAKE2b-256 | c35b14ddcf6e774d1aca14a00a8cc7ac88e2b3f1582b81dec25a7d5d5aab9b8c |
Hashes for ctp_python-6.6.9-1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0739e41c50a63c45e0eae19e15e24ca90c77f1ab179b1ba34393209d7f43777 |
|
MD5 | 117908679574c99a78b1e953b9c0b16f |
|
BLAKE2b-256 | 030894403702dc02e4647fbabc9cc6bbf0aa24a5bb86dac1c4796b694525e1ca |
Hashes for ctp_python-6.6.9-1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eccc07b7bca1a4bd64858b353749461ab8984be9ca3e051e6074289a408abf51 |
|
MD5 | 02b839e4116de1ae80781dd67ef75975 |
|
BLAKE2b-256 | bd96fdeda1997c4b27f052d8de7b9300b7e14c91dfc7cb3046704c0e34462fc9 |
Hashes for ctp_python-6.6.9-1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e23d8e3ef93d8f6db0a83d5214b01c7a2fbdba58408e5b2adc2c6a77c368ad14 |
|
MD5 | 2fe3c1a56880ce0bf8b20d5f378d94b5 |
|
BLAKE2b-256 | 87e5702f78048dca1b896ada7603d6213506cbb814e5747f9e14a6a74c3c82ec |
Hashes for ctp_python-6.6.9-1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d31ab21b1bfdbc4559927acb1e3adbbc8b15a90913c8ede5ffdfdf341dd33530 |
|
MD5 | 0ba4e7e682591b263f4b5ea3625bf0fe |
|
BLAKE2b-256 | 1ae3890b92974f8f71d8ade2e9783cabe49766b07da516e81145fe2bf83831f8 |
Hashes for ctp_python-6.6.9-1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db01667db3e9fa5b17ba5b9262236e44dc9dc1259a71fa4970024336058ea88f |
|
MD5 | 0e5a423beec3693774e18b0c1e250c64 |
|
BLAKE2b-256 | 0591cc4cc32a64d122f08b7cc2ad8f6d27afbeb508e3138d4201893ea005aab0 |
Hashes for ctp_python-6.6.9-1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d2ef49dae4ccfe6767124fd5375c85aebc98f924f3ad974de7ff33c50cecd73 |
|
MD5 | 9940e20ef65a292bd58cf42464549585 |
|
BLAKE2b-256 | 26ce175f4fef585501485a6aefeaf67297e10a28a595d56d882f1d5c888245ef |
Hashes for ctp_python-6.6.9-1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c025a328367da4dea184f01b4f3ba4f03a9d1aacc99251d990a0f79869856e8b |
|
MD5 | cc0f9aa109a0f5ab300c2a3857dc5939 |
|
BLAKE2b-256 | ecd4c5765edb84c3fc86ba97075a74f27f5b58a78f05758105e78ef40eb6725f |
Hashes for ctp_python-6.6.9-1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d43817e4874bbe87a6fd5429209d206d17cf349611e356bfdce2221ce538abd7 |
|
MD5 | bc494589bb94edeecb8292d39dab7f43 |
|
BLAKE2b-256 | fd2ed8176663d251dd0d28fdfd6d29eef0bed13875d578c06941dce5a240c77a |
Hashes for ctp_python-6.6.9-1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bae12e1856b628962dc9b52d9e4efcb1ac434fd3b93c18168d70fc24eeb14a12 |
|
MD5 | 415376a818f1efafafc2c249c7177306 |
|
BLAKE2b-256 | def6c4f95852b92db840420616ca9d2c05fd66f0c9bb800d1ecafde9fd2f8344 |
Hashes for ctp_python-6.6.9-1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54c36691fd498dca8e62bc5de4c8e28667922292f1ad187faa565fb4cd47824d |
|
MD5 | 8ca154d3f661aba43fd251a27d7d5811 |
|
BLAKE2b-256 | ed6a423e18742a055a00032e8e2ca15777e7e1ce95db21819311c9ecf0c82666 |
Hashes for ctp_python-6.6.9-1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d343c840b8d6596bf70256f44a54839fbc0fa6c7b2d714a025550fcc03562c5c |
|
MD5 | ebd8c766dde63e16f6152d5722af7b6a |
|
BLAKE2b-256 | 62b50c54b497259e6faedfa2ecfba23f281f4b1f51108f8b67f0352113e53c47 |
Hashes for ctp_python-6.6.9-1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 347855adb72bef1c002b415d5d5ec91352bf1c846900e4ce1238f5e0f9a80933 |
|
MD5 | 7536934e6696b5b893eba8910320189f |
|
BLAKE2b-256 | 0a25ebcfdb33e4398b04f3eba02ad4a19119d9a2424c18a5aa0071cad3c1bff2 |
Hashes for ctp_python-6.6.9-1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a4f09aba9db3d88805d66c69203b5bbb647272a0b58047089d91b29839c8087 |
|
MD5 | 46ef25f305e9d831b3c5f7afed65472f |
|
BLAKE2b-256 | f4382d38c447829046484153b837e5379b6424eee179c3cd64f67e83ff552155 |
Hashes for ctp_python-6.6.9-1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b52978d06882ac763fa98131d7e143e7bae6f51b6a5a11247fb4fa6e803979e2 |
|
MD5 | f8b8be2fe884c03d828c86865a49122c |
|
BLAKE2b-256 | ea88d8df476003f371cdc3d0eb529e61762c514c2215cb74eeee0c79fe631c71 |
Hashes for ctp_python-6.6.9-1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43fa4e882a71bcbb9f1068a33a632345daf01caea0253221491ddba25787cee0 |
|
MD5 | 6f47c7f280c6d2d6ff07d9ec44f10c5e |
|
BLAKE2b-256 | fced3e9bbd94811500b84308beb7221672d92744d7bbdf51ad6075be8f14f555 |
Hashes for ctp_python-6.6.9-1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4b2bdc8b793341aa8c51cf96f7ad20773e64a6b90d08966766a5a02179cc6fa |
|
MD5 | c502b88ea5523e46841c6b37cc56705e |
|
BLAKE2b-256 | 04c110d8f7cb84e207b3f3e4d6a5caac3581efa9f075215771e5998652d45152 |
Hashes for ctp_python-6.6.9-1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9df54d15028ecf64ee558c1adf8e8d3ab6da90323cd693d02f25be5850795410 |
|
MD5 | ba86955a6fcdb3ee71fea37de1f5cd7b |
|
BLAKE2b-256 | 47611f049f589c3169d55a9a227f7e04a3502748b2f011f2eb14f7c29a9268f9 |
Hashes for ctp_python-6.6.9-1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6df2af1cfee005231d4e79c838d2a18929c30fd8720172bac7867fbf124443bb |
|
MD5 | af89307c766aa8c626db89d2533a24b0 |
|
BLAKE2b-256 | da840d36aa7823851158732e83e319e8a79a20ada0550ffef0137f050732b6f8 |