{ "info": { "author": "HaiFengAT", "author_email": "haifengat@vip.qq.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# py_ctp\n\n\u4e0a\u671f\u6280\u672f\u671f\u8d27\u4ea4\u6613 api \u4e4b python \u5c01\u88c5\uff0c\u5b9e\u73b0\u63a5\u53e3\u8c03\u7528\u3002\u652f\u6301 windows(x86/x64) linux(x64).\n\n## \u66f4\u65b0\n\n### 20201104\n\n\u66f4\u65b0:\u4e0d\u518d\u652f\u6301 32 \u4f4d; \u89e3\u51b3 lnx \u4e0b so \u8def\u5f84\u95ee\u9898;\u89e3\u51b3\u5408\u7ea6\u8fc7\u591a\u5bfc\u81f4\u7684 bug;\n\n### 20210115\n\n\u66f4\u65b0\uff1a\u63a5\u53e3\u66f4\u65b0\u5230 6.5.1;\u5927\u5546\u6240\u975e\u4ea4\u6613\u5408\u7ea6\u6570\u91cf\u5e9e\u5927\u5bfc\u81f4\u7684\u95ee\u9898\u3002\n\n### 20220504\n\n\u66f4\u65b0: \u91cd\u65b0\u7f16\u8bd1\u5c01\u88c5\u7684 C \u63a5\u53e3; trade \u767b\u5f55\u4e0d\u518d\u9700\u8981 productInfo\n\n## \u7248\u672c\n\n\u4e0e\u5b98\u65b9\u7248\u672c\u4fdd\u6301\u4e00\u81f4\uff1a6.3.15 6.3.16\n\n## \u5b89\u88c5\n\n```sh\npip install py-ctp==6.5.1.20220504\n```\n\n#### \u793a\u4f8b\n\n```python\n#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n__title__ = 'test py ctp of se'\n__author__ = 'HaiFeng'\n__mtime__ = '20190506'\n\nfrom py_ctp.trade import CtpTrade\nfrom py_ctp.quote import CtpQuote\nfrom py_ctp.enums import *\nimport time\n\n\nclass TestTrade(object):\n def __init__(self, addr: str, broker: str, investor: str, pwd: str, appid: str, auth_code: str, proc: str):\n self.front = addr\n self.broker = broker\n self.investor = investor\n self.pwd = pwd\n self.appid = appid\n self.authcode = auth_code\n self.proc = proc\n\n self.t = CtpTrade()\n self.t.OnConnected = self.on_connect\n self.t.OnUserLogin = lambda o, x: print('Trade logon:', x)\n self.t.OnDisConnected = lambda o, x: print(x)\n self.t.OnRtnNotice = lambda obj, time, msg: print(f'OnNotice: {time}:{msg}')\n self.t.OnErrRtnQuote = lambda obj, quote, info: None\n self.t.OnErrRtnQuoteInsert = lambda obj, o: None\n self.t.OnOrder = lambda obj, o: None\n self.t.OnErrOrder = lambda obj, f, info: None\n self.t.OnTrade = lambda obj, o: None\n self.t.OnInstrumentStatus = lambda obj, inst, stat: None\n\n def on_connect(self, obj):\n self.t.ReqUserLogin(self.investor, self.pwd, self.broker, self.proc, self.appid, self.authcode)\n\n def run(self):\n self.t.ReqConnect(self.front)\n # self.t.ReqConnect('tcp://192.168.52.4:41205')\n\n def release(self):\n self.t.ReqUserLogout()\n\n\nclass TestQuote(object):\n \"\"\"TestQuote\"\"\"\n\n def __init__(self, addr: str, broker: str, investor: str, pwd: str):\n \"\"\"\"\"\"\n self.front = addr\n self.broker = broker\n self.investor = investor\n self.pwd = pwd\n\n self.q = CtpQuote()\n self.q.OnConnected = lambda x: self.q.ReqUserLogin(self.investor, self.pwd, self.broker)\n self.q.OnUserLogin = lambda o, i: self.q.ReqSubscribeMarketData('rb2210')\n\n def run(self):\n self.q.ReqConnect(self.front)\n\n def release(self):\n self.q.ReqUserLogout()\n\n\nif __name__ == \"__main__\":\n front_trade = 'tcp://180.168.146.187:10202'\n front_quote = 'tcp://180.168.146.187:10212'\n broker = '9999'\n investor = ''\n pwd = ''\n appid = ''\n auth_code = ''\n proc = ''\n if investor == '':\n investor = input('invesotr:')\n pwd = input('password:')\n appid = input('appid:')\n auth_code = input('auth code:')\n proc = input('product info:')\n tt = TestTrade(front_trade, broker, investor, pwd, appid, auth_code, proc)\n tt.run()\n time.sleep(5)\n # tt.t.ReqOrderInsert('j1905', DirectType.Buy, OffsetType.Open, 2060, 3)\n\n time.sleep(3)\n qq = TestQuote(front_quote, broker, investor, pwd)\n qq.run()\n\n # time.sleep(6)\n # for inst in tt.t.instruments.values():\n # print(inst)\n input()\n tt.release()\n qq.release()\n input()\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/haifengat/hf_ctp_py_proxy", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "py-ctp", "package_url": "https://pypi.org/project/py-ctp/", "platform": "any", "project_url": "https://pypi.org/project/py-ctp/", "project_urls": { "Homepage": "https://github.com/haifengat/hf_ctp_py_proxy" }, "release_url": "https://pypi.org/project/py-ctp/6.5.1.20220505/", "requires_dist": null, "requires_python": ">=3.6.0", "summary": "Python CTP futures api", "version": "6.5.1.20220505", "yanked": false, "yanked_reason": null }, "last_serial": 13707513, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "f86acbd23e04cae80522f941d8e7b0f6", "sha256": "9a3194d49519a19801ffb4ea05f94be596fadb97feed003c77e90d2ef4f63786" }, "downloads": -1, "filename": "py_ctp-1.1.0.tar.gz", "has_sig": false, "md5_digest": "f86acbd23e04cae80522f941d8e7b0f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 162635, "upload_time": "2018-11-11T02:22:04", "upload_time_iso_8601": "2018-11-11T02:22:04.296719Z", "url": "https://files.pythonhosted.org/packages/5e/ef/d34709256d3cbd7197d0209946acb9fdf47b533e4c9e7336b94bf3390ee2/py_ctp-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "c8f5b67c8234aa4597687ef31ba91740", "sha256": "8b4a08728f8a7534ed10fbc934fe13444bcaaa1d51f842335b3cb0d6a13e87d3" }, "downloads": -1, "filename": "py_ctp-1.1.1.tar.gz", "has_sig": false, "md5_digest": "c8f5b67c8234aa4597687ef31ba91740", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 164265, "upload_time": "2018-11-11T02:36:25", "upload_time_iso_8601": "2018-11-11T02:36:25.027494Z", "url": "https://files.pythonhosted.org/packages/42/47/67e6da4ec29e02d3d6efa87e226e1f03d13884edcdf2e5c28348a4f288b0/py_ctp-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "1581fdcc5288bc063a6c6c14152c7f6f", "sha256": "9a2bcbd3688463e60c78cc4bb2bce24533f659f6d601ca3f71a84f5c27a66f44" }, "downloads": -1, "filename": "py_ctp-1.1.2.tar.gz", "has_sig": false, "md5_digest": "1581fdcc5288bc063a6c6c14152c7f6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4159846, "upload_time": "2018-11-11T10:00:35", "upload_time_iso_8601": "2018-11-11T10:00:35.657334Z", "url": "https://files.pythonhosted.org/packages/a9/a8/b5b49e69de0892dfc71b38c75140f72780e762fed1150c2bb0ecb5c927b7/py_ctp-1.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "bfb676468a15a781e54fa7d0a77d13d7", "sha256": "9e67ee6ba379ae11c56fc5bb9e6278e9ce466105576856caf50707cc1726250a" }, "downloads": -1, "filename": "py_ctp-1.1.3.tar.gz", "has_sig": false, "md5_digest": "bfb676468a15a781e54fa7d0a77d13d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4161455, "upload_time": "2018-11-12T00:39:32", "upload_time_iso_8601": "2018-11-12T00:39:32.651731Z", "url": "https://files.pythonhosted.org/packages/5e/99/64f0285ec0765b086aa29e8a4ae34c5bb6a26376865d39cd98b8db328c77/py_ctp-1.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "1887df4b6f7611d0f578462ab9ef9c41", "sha256": "9a8d72ecefe32874a0cb6a82731ca689c35979626155abd6a5c49dca0d4f260d" }, "downloads": -1, "filename": "py_ctp-1.1.4.tar.gz", "has_sig": false, "md5_digest": "1887df4b6f7611d0f578462ab9ef9c41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4162051, "upload_time": "2018-11-12T00:42:32", "upload_time_iso_8601": "2018-11-12T00:42:32.087249Z", "url": "https://files.pythonhosted.org/packages/62/19/03a1dcd00bd79d88f0af38a16b667425028041dc4ffec0597896ce6fe3f1/py_ctp-1.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.4.2": [ { "comment_text": "", "digests": { "md5": "f80e82a1138643f56b2429b5dbdfbc16", "sha256": "92dc814578a70761f9d8aee03ae1e838a0d24ac4e1a023cd1caf7ce1f4757760" }, "downloads": -1, "filename": "py_ctp-1.1.4.2.tar.gz", "has_sig": false, "md5_digest": "f80e82a1138643f56b2429b5dbdfbc16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4161494, "upload_time": "2018-11-12T00:46:18", "upload_time_iso_8601": "2018-11-12T00:46:18.890661Z", "url": "https://files.pythonhosted.org/packages/66/26/b325be29892077434388e067c063f75c9f81f7ec2c47668c4d8f9be1c24e/py_ctp-1.1.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.4.3": [ { "comment_text": "", "digests": { "md5": "a7bfb496d1dbd0575fa8cdb47fa644be", "sha256": "5994b2f77b8abcc8d88951790a0102b9e134e2c2aa6e706e4a5ca233908a2f1a" }, "downloads": -1, "filename": "py_ctp-1.1.4.3.tar.gz", "has_sig": false, "md5_digest": "a7bfb496d1dbd0575fa8cdb47fa644be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4161468, "upload_time": "2018-11-12T05:21:39", "upload_time_iso_8601": "2018-11-12T05:21:39.763486Z", "url": "https://files.pythonhosted.org/packages/f0/7b/8b428231223e7c97c399caa8e0fd7ac5086fd5240c4629ad289a4d2ac04c/py_ctp-1.1.4.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "bd8406b61a193ac296f08682948da7ad", "sha256": "ab3825a98a0c3a13448d193ece34f493a3c4c0da4a611c139bf118f06646c9c7" }, "downloads": -1, "filename": "py_ctp-1.1.5.tar.gz", "has_sig": false, "md5_digest": "bd8406b61a193ac296f08682948da7ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4160887, "upload_time": "2018-11-12T05:29:18", "upload_time_iso_8601": "2018-11-12T05:29:18.499014Z", "url": "https://files.pythonhosted.org/packages/96/df/34d7444933a24322a515fd78e9b1fefa7316ec0fa9d1495d2cc629ba9655/py_ctp-1.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.5.1": [ { "comment_text": "", "digests": { "md5": "a185f2ff7f71c44dafa7673f7d9e0f77", "sha256": "b25e7fcdb586aa3723ae8ab95e05091b7fab1faff4dabb7312b4160db2b388e2" }, "downloads": -1, "filename": "py_ctp-1.1.5.1.tar.gz", "has_sig": false, "md5_digest": "a185f2ff7f71c44dafa7673f7d9e0f77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4160901, "upload_time": "2018-11-12T05:41:40", "upload_time_iso_8601": "2018-11-12T05:41:40.298393Z", "url": "https://files.pythonhosted.org/packages/0c/7e/003090aa466639b0b6a556ee6c27362ba599e0f501e9660d52fb8dad6688/py_ctp-1.1.5.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.5.2": [ { "comment_text": "", "digests": { "md5": "050bc9d3afcba9f0caf8dbc7fa2cc043", "sha256": "74990e61dbd3d2c71879f16c40871816c5b73a2114f5be80a86c75220d2b1803" }, "downloads": -1, "filename": "py_ctp-1.1.5.2.tar.gz", "has_sig": false, "md5_digest": "050bc9d3afcba9f0caf8dbc7fa2cc043", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 4160912, "upload_time": "2018-11-12T05:44:02", "upload_time_iso_8601": "2018-11-12T05:44:02.999784Z", "url": "https://files.pythonhosted.org/packages/02/82/542d7c2db27a8ed0ca4e5408a6ec145a3e54c441b1db538d4925be605da0/py_ctp-1.1.5.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.5.3": [ { "comment_text": "", "digests": { "md5": "d17b24eb6809aedfe83b08ef79320ac7", "sha256": "e0ca41b9b03f26767d11d9d8ea3e6d11963a01c747e8d119652f2986f80f741f" }, "downloads": -1, "filename": "py_ctp-1.1.5.3.tar.gz", "has_sig": false, "md5_digest": "d17b24eb6809aedfe83b08ef79320ac7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 4160895, "upload_time": "2018-11-20T05:17:44", "upload_time_iso_8601": "2018-11-20T05:17:44.642780Z", "url": "https://files.pythonhosted.org/packages/35/ab/1a596533ca37b53d6b8bfc0b94dcfb1dae354440e222e69a66c1dd89d297/py_ctp-1.1.5.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "183c049895a35baa50e473b5624de027", "sha256": "0958a2db6d8aaa1cde43f0dbbcc755eb17beeb44c898a7849f88ea35099e9681" }, "downloads": -1, "filename": "py_ctp-1.1.6.tar.gz", "has_sig": false, "md5_digest": "183c049895a35baa50e473b5624de027", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 4164485, "upload_time": "2018-12-05T06:40:12", "upload_time_iso_8601": "2018-12-05T06:40:12.747908Z", "url": "https://files.pythonhosted.org/packages/4d/0d/931256d069fe680b4b498ecceaac16a3b8f4f1cc2b804faddd65a15cfbd6/py_ctp-1.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "c2893cc007aa9f2026db2dcb1224d3c3", "sha256": "e7e91b5f468a54f02e90194b3706b6af71d657f0b4e847a7f021945e78e10a9d" }, "downloads": -1, "filename": "py_ctp-1.1.7.tar.gz", "has_sig": false, "md5_digest": "c2893cc007aa9f2026db2dcb1224d3c3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 4164804, "upload_time": "2018-12-06T02:33:10", "upload_time_iso_8601": "2018-12-06T02:33:10.688467Z", "url": "https://files.pythonhosted.org/packages/92/48/1d03d64ee3d4ec902fceadf97cee46ee8bdfa0d4ff86db2a514dd3ac661d/py_ctp-1.1.7.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "0db781308eda06559e2b8f6cf98b2402", "sha256": "2b9540ad70f2928402a7efe4c3114780af3dc365a3836a9fb152a96669233e6e" }, "downloads": -1, "filename": "py_ctp-2.0.0.tar.gz", "has_sig": false, "md5_digest": "0db781308eda06559e2b8f6cf98b2402", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 5178632, "upload_time": "2018-12-16T05:33:25", "upload_time_iso_8601": "2018-12-16T05:33:25.431345Z", "url": "https://files.pythonhosted.org/packages/b7/6e/fe2736b1686a705bafdb04c58ccb9fb2661facf22040b674ccd87f2e6150/py_ctp-2.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "d3852c664194f6247745dfd8dd23f976", "sha256": "42d144c414e36e20be5731a000dfae35114ef68a0b1cf76c63812b598b960c80" }, "downloads": -1, "filename": "py_ctp-2.1.1.tar.gz", "has_sig": false, "md5_digest": "d3852c664194f6247745dfd8dd23f976", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 5197837, "upload_time": "2019-01-30T00:15:24", "upload_time_iso_8601": "2019-01-30T00:15:24.918055Z", "url": "https://files.pythonhosted.org/packages/20/0e/a60d441687fbcf4db7c5b42d7e8d242ec776173e2afe25dfeadbb618bcc7/py_ctp-2.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "300604672b9e40eb72f5f6691e0610fe", "sha256": "50b2267067a84920d417eb04c374f4bffde36ea10d3fd83544b868675082cfa4" }, "downloads": -1, "filename": "py_ctp-2.1.2.tar.gz", "has_sig": false, "md5_digest": "300604672b9e40eb72f5f6691e0610fe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 5224487, "upload_time": "2019-01-30T00:39:43", "upload_time_iso_8601": "2019-01-30T00:39:43.458025Z", "url": "https://files.pythonhosted.org/packages/8b/a5/e10f5c40f1de194236eeff9dc835c1358516d997a0f4110a54d06de21caa/py_ctp-2.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "ac67e1925791b02f9f881cddecba5eb8", "sha256": "21d5737372defe730b5cd3de094f8ae4e411c454da78cc67a68b482f2a86e7b5" }, "downloads": -1, "filename": "py_ctp-2.2.0.tar.gz", "has_sig": false, "md5_digest": "ac67e1925791b02f9f881cddecba5eb8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11328094, "upload_time": "2019-05-07T02:00:52", "upload_time_iso_8601": "2019-05-07T02:00:52.032249Z", "url": "https://files.pythonhosted.org/packages/4b/68/88f27a0d2c3d5557cea316578a2c41775f0300ce6eda22ecad685533e4b9/py_ctp-2.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "ae87a6e4aeea0808be8b4799e2b4d750", "sha256": "c6b6e42d8db833cbe6c1fb85020f3cdbcd9e85a40e424889ec36d333168392de" }, "downloads": -1, "filename": "py_ctp-2.2.1.tar.gz", "has_sig": false, "md5_digest": "ae87a6e4aeea0808be8b4799e2b4d750", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11328073, "upload_time": "2019-06-19T06:06:31", "upload_time_iso_8601": "2019-06-19T06:06:31.221087Z", "url": "https://files.pythonhosted.org/packages/99/75/9549dfd477d28150f0499bb234afb3a653970132ab7e5aaa4588754ed5df/py_ctp-2.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "96c8650ec8a178435a9017106be29e0d", "sha256": "317bdd9cdf48fbe15f11766575b5b5200066aab4d91c858868f30184febe044c" }, "downloads": -1, "filename": "py_ctp-2.2.2.tar.gz", "has_sig": false, "md5_digest": "96c8650ec8a178435a9017106be29e0d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11328161, "upload_time": "2019-06-20T01:43:26", "upload_time_iso_8601": "2019-06-20T01:43:26.377278Z", "url": "https://files.pythonhosted.org/packages/08/38/4a53681b1bb67aa904429c788ca92909e18f06f8116d6c1f068539af79a8/py_ctp-2.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.3": [ { "comment_text": "", "digests": { "md5": "b777d11e4326009938b27a29be6a2440", "sha256": "bd2900e20c11ad545861708092d6039130b0597fa7d7bf06184045907ef32b61" }, "downloads": -1, "filename": "py_ctp-2.2.3.tar.gz", "has_sig": false, "md5_digest": "b777d11e4326009938b27a29be6a2440", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11328144, "upload_time": "2019-07-15T06:19:00", "upload_time_iso_8601": "2019-07-15T06:19:00.418743Z", "url": "https://files.pythonhosted.org/packages/a5/f3/98d3d361cd9ece24480b2f64a74e99a5914b8221ce221cccb0b0e6dc6abe/py_ctp-2.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.4": [ { "comment_text": "", "digests": { "md5": "0067ff759abb51aa6151d7ddf32b9c39", "sha256": "17b26e8742c2b6bce1b17da5f47ba7923bcd122db5c0759987109dde2552d7a1" }, "downloads": -1, "filename": "py_ctp-2.2.4.tar.gz", "has_sig": false, "md5_digest": "0067ff759abb51aa6151d7ddf32b9c39", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11328192, "upload_time": "2019-07-15T07:18:16", "upload_time_iso_8601": "2019-07-15T07:18:16.261820Z", "url": "https://files.pythonhosted.org/packages/2e/b9/f18a2d13b18ef0a2c3e63c2ebce4ea444cf7d6efde6d7e03f6a034323cc3/py_ctp-2.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.5": [ { "comment_text": "", "digests": { "md5": "604af2ef599ecf881e8276689384cdca", "sha256": "5f8e14d2484a0ccde6f54f3b17e05cfe2ba555e57b17b94d6aa2a77f4afaa95a" }, "downloads": -1, "filename": "py_ctp-2.2.5.tar.gz", "has_sig": false, "md5_digest": "604af2ef599ecf881e8276689384cdca", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11328207, "upload_time": "2019-07-15T15:04:10", "upload_time_iso_8601": "2019-07-15T15:04:10.239942Z", "url": "https://files.pythonhosted.org/packages/1d/96/1b5efadb70b99d20b707a24eb4309d12ddc1bc416cfc7c41df2195996515/py_ctp-2.2.5.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.7": [ { "comment_text": "", "digests": { "md5": "efea9da872d514217e7e7d5549703838", "sha256": "ce1a1b9568960a4e7bdc2c70f368e905583075f6e0da6326d405c14018571882" }, "downloads": -1, "filename": "py_ctp-2.2.7.tar.gz", "has_sig": false, "md5_digest": "efea9da872d514217e7e7d5549703838", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11328341, "upload_time": "2019-10-18T06:20:39", "upload_time_iso_8601": "2019-10-18T06:20:39.959761Z", "url": "https://files.pythonhosted.org/packages/e5/9e/41fb04c7c5cc01c0529e2cdbaa22a863b490fb812398373210637a703b5f/py_ctp-2.2.7.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.8": [ { "comment_text": "", "digests": { "md5": "927caf27fffb0a09a0e0294163195a87", "sha256": "b65a2d6421fa9c6d8e01ab977cde5c9e894a06fec3a5a9befd81dbacf000a4fc" }, "downloads": -1, "filename": "py_ctp-2.2.8.tar.gz", "has_sig": false, "md5_digest": "927caf27fffb0a09a0e0294163195a87", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 11328312, "upload_time": "2019-10-30T03:00:55", "upload_time_iso_8601": "2019-10-30T03:00:55.754943Z", "url": "https://files.pythonhosted.org/packages/e8/e0/44f4c5e97526c4f749a1b4aa628b9fa1159fc7d7557027fb55de8488494d/py_ctp-2.2.8.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.9": [ { "comment_text": "", "digests": { "md5": "c320686e3dccb3dfab47b88d22f1e548", "sha256": "f255a8abb761272723b67baa27d4dfa57a2ebb43292c432800a540f8bf03d145" }, "downloads": -1, "filename": "py_ctp-2.2.9.tar.gz", "has_sig": false, "md5_digest": "c320686e3dccb3dfab47b88d22f1e548", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 11328358, "upload_time": "2019-11-05T00:09:37", "upload_time_iso_8601": "2019-11-05T00:09:37.442144Z", "url": "https://files.pythonhosted.org/packages/6a/57/6e0b480589a46c9624bc365122a48710f7fe4d1f7503b7e5acd2aaf545e5/py_ctp-2.2.9.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "122c75693454cf6314fec5ee2803b509", "sha256": "009017362772d0a15167f03df1097661806c3a43290da4ef9d6a6bbdde98f7e3" }, "downloads": -1, "filename": "py_ctp-2.3.0.tar.gz", "has_sig": false, "md5_digest": "122c75693454cf6314fec5ee2803b509", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 11328324, "upload_time": "2019-11-06T07:40:28", "upload_time_iso_8601": "2019-11-06T07:40:28.466480Z", "url": "https://files.pythonhosted.org/packages/27/8c/207e774165e87ca34b60ba3c80b884c2dbf27c32d4cf7ebc59c40e4ce7c4/py_ctp-2.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "501d690247716209bc5a2dd911fecbe1", "sha256": "79fac84876a5b8fc21c882005ed7a9c5dab983f213705f4e7ff51eb9ca8b1be0" }, "downloads": -1, "filename": "py_ctp-2.3.1.tar.gz", "has_sig": false, "md5_digest": "501d690247716209bc5a2dd911fecbe1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 11328379, "upload_time": "2019-11-11T03:12:28", "upload_time_iso_8601": "2019-11-11T03:12:28.465421Z", "url": "https://files.pythonhosted.org/packages/81/2d/c11e267927cec57258a77d2d0b6d83986258172eb5178b7409b52ebaef23/py_ctp-2.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.15": [ { "comment_text": "", "digests": { "md5": "0d790f4a7394ac318daa983ebbbb7e66", "sha256": "e6b5b6253650163020e3c1c3f025f64d84375ed8ae2ee500769234ee6cebf0a1" }, "downloads": -1, "filename": "py_ctp-2.3.15.tar.gz", "has_sig": false, "md5_digest": "0d790f4a7394ac318daa983ebbbb7e66", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 7601379, "upload_time": "2020-11-05T13:39:59", "upload_time_iso_8601": "2020-11-05T13:39:59.534788Z", "url": "https://files.pythonhosted.org/packages/a2/b0/9d9326080e0f1228f749cbe8b489623864923eda960aa97cb4a2fe25c5bb/py_ctp-2.3.15.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.2": [ { "comment_text": "", "digests": { "md5": "7fc783ee27bd262131eecaa5b3ed9570", "sha256": "491f35d849d14415922ebb59d1764e30e9ed5899b5afef58835725b54c438dc4" }, "downloads": -1, "filename": "py_ctp-2.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7fc783ee27bd262131eecaa5b3ed9570", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 11374059, "upload_time": "2020-04-21T06:16:24", "upload_time_iso_8601": "2020-04-21T06:16:24.607275Z", "url": "https://files.pythonhosted.org/packages/f6/c4/dbd796d58cb04898fd2c13358c097e98ea9a877c179f4a5957d24b3962fb/py_ctp-2.3.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "177f255c0a1517008739bcf59e1cb218", "sha256": "834165bfdee0c0f2651ceb3017ca7892769e038efc788b03db49579290c933ae" }, "downloads": -1, "filename": "py_ctp-2.3.2.tar.gz", "has_sig": false, "md5_digest": "177f255c0a1517008739bcf59e1cb218", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 11341528, "upload_time": "2020-04-15T13:24:40", "upload_time_iso_8601": "2020-04-15T13:24:40.816652Z", "url": "https://files.pythonhosted.org/packages/b0/75/15953c42634fd69ce573801bda5f927f7b3d02f6af96583e3298df38e715/py_ctp-2.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.3": [ { "comment_text": "", "digests": { "md5": "c34cfea26a2273e6949c2708d3abe6dd", "sha256": "b9ed3a8c11cf1929985bc1abfcc97b14b905313b064e6007b5e51906f74bb1b6" }, "downloads": -1, "filename": "py_ctp-2.3.3-py3.6.egg", "has_sig": false, "md5_digest": "c34cfea26a2273e6949c2708d3abe6dd", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.6.0", "size": 11595651, "upload_time": "2020-11-04T12:08:53", "upload_time_iso_8601": "2020-11-04T12:08:53.858563Z", "url": "https://files.pythonhosted.org/packages/45/ca/7f6d8a2e93777ae823e3fe957b1be066444417c562983dedab0040317b9e/py_ctp-2.3.3-py3.6.egg", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "28a3d3251a4d2c19ee41b7ed54f86557", "sha256": "7377f5cbc5181143c6631b9a851eba6797d3f8733c5e9d6665f0abf103cdcef9" }, "downloads": -1, "filename": "py_ctp-2.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "28a3d3251a4d2c19ee41b7ed54f86557", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 14866614, "upload_time": "2020-11-04T12:52:49", "upload_time_iso_8601": "2020-11-04T12:52:49.881261Z", "url": "https://files.pythonhosted.org/packages/86/ce/72f3defa50679f7cfc3644ee50677ff7521b9fdcf0afab19a1a93e37e6b4/py_ctp-2.3.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2aeff4aa80f6a83815daa12d5daf4184", "sha256": "57846757b6d7836e2ca49d1de02a22b611bd6f0d770f72ce8969b78f9a0fd7e3" }, "downloads": -1, "filename": "py_ctp-2.3.3.tar.gz", "has_sig": false, "md5_digest": "2aeff4aa80f6a83815daa12d5daf4184", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6495360, "upload_time": "2020-11-04T12:09:19", "upload_time_iso_8601": "2020-11-04T12:09:19.926873Z", "url": "https://files.pythonhosted.org/packages/06/40/e3c01d8dd22fdec329b5c4255c79c43eb270687ea346de15e789ac98db74/py_ctp-2.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.4": [ { "comment_text": "", "digests": { "md5": "bbe2bbc1027b375f73275d2a1fc7c1d9", "sha256": "524af6732f17f0902948fbbc3029e2dc5570283d0edea024c945c620ae8ce964" }, "downloads": -1, "filename": "py_ctp-2.3.4.tar.gz", "has_sig": false, "md5_digest": "bbe2bbc1027b375f73275d2a1fc7c1d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6495525, "upload_time": "2020-11-05T06:00:38", "upload_time_iso_8601": "2020-11-05T06:00:38.041823Z", "url": "https://files.pythonhosted.org/packages/27/c5/83888187cc5ae34cf31b2a73e27c8375a0bdb700815f10d83b33eac842e8/py_ctp-2.3.4.tar.gz", "yanked": false, "yanked_reason": null } ], "6.3.15.1106": [ { "comment_text": "", "digests": { "md5": "179331aec7ba04f5c4d08892696218dc", "sha256": "c32b61f1d3e287140a1ee9a2b855e0329141c2faf2660bb663403e714aac4f47" }, "downloads": -1, "filename": "py_ctp-6.3.15.1106-py3-none-any.whl", "has_sig": false, "md5_digest": "179331aec7ba04f5c4d08892696218dc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 11406679, "upload_time": "2020-11-06T00:43:44", "upload_time_iso_8601": "2020-11-06T00:43:44.331799Z", "url": "https://files.pythonhosted.org/packages/71/f3/03d1837e8971d6f5402b1f400fd916a8c2abaf14bc4291d704681efee0b4/py_ctp-6.3.15.1106-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c5c65b43d688b0b0edc9c04ce45c2f34", "sha256": "61142a65e44bd37738fa53e82220d417afd2cc24608421981d9c2406c996fd1f" }, "downloads": -1, "filename": "py_ctp-6.3.15.1106.tar.gz", "has_sig": false, "md5_digest": "c5c65b43d688b0b0edc9c04ce45c2f34", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 7601927, "upload_time": "2020-11-06T00:38:35", "upload_time_iso_8601": "2020-11-06T00:38:35.826253Z", "url": "https://files.pythonhosted.org/packages/55/0f/84f30969d09797dffc047413f58ae2758195b815bd2a980cf97a538c939e/py_ctp-6.3.15.1106.tar.gz", "yanked": false, "yanked_reason": null } ], "6.3.15.1126": [ { "comment_text": "", "digests": { "md5": "8808a5bded69e94c84a71148c82b6fda", "sha256": "85d3e744e007bf9fd4ffab3744e3c380aa8f3332459c7f8b17dd177e5019d35b" }, "downloads": -1, "filename": "py_ctp-6.3.15.1126.tar.gz", "has_sig": false, "md5_digest": "8808a5bded69e94c84a71148c82b6fda", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6495626, "upload_time": "2020-11-26T06:55:52", "upload_time_iso_8601": "2020-11-26T06:55:52.762081Z", "url": "https://files.pythonhosted.org/packages/d3/b2/2c60b2438fadb6de6da8ef568f1892175c6606d6a848b2d91a5f619fb97d/py_ctp-6.3.15.1126.tar.gz", "yanked": false, "yanked_reason": null } ], "6.5.1.115": [ { "comment_text": "", "digests": { "md5": "2d165cee8f254e62881afac8b351b8cf", "sha256": "be651b1b729c51ee58de3a7eaaf65347260aceb67a42750b45ee1ac036a22ea0" }, "downloads": -1, "filename": "py_ctp-6.5.1.115-py3-none-any.whl", "has_sig": false, "md5_digest": "2d165cee8f254e62881afac8b351b8cf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 11438668, "upload_time": "2021-01-15T07:11:27", "upload_time_iso_8601": "2021-01-15T07:11:27.794547Z", "url": "https://files.pythonhosted.org/packages/46/87/ac70f7c2958c7b9f1e463865ead17892585d15c8e0735b3c7d0fb8bbe2ea/py_ctp-6.5.1.115-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "df5c8431b67575f3dea188030c04b1e0", "sha256": "21c32f9738eaca019e728e7cfbb0b383bb59d1d146c9005f2a2a4663e5b2163b" }, "downloads": -1, "filename": "py_ctp-6.5.1.115.tar.gz", "has_sig": false, "md5_digest": "df5c8431b67575f3dea188030c04b1e0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6530131, "upload_time": "2021-01-15T07:09:15", "upload_time_iso_8601": "2021-01-15T07:09:15.549310Z", "url": "https://files.pythonhosted.org/packages/73/3f/9c35d534c611e325a5846a91da16a1a9321219ee0fe1eff3e34beafaff97/py_ctp-6.5.1.115.tar.gz", "yanked": false, "yanked_reason": null } ], "6.5.1.119": [ { "comment_text": "", "digests": { "md5": "b0c5180ce6f19ef5d9d3029dab7816db", "sha256": "b010569cf311dadefabe63922f1d47f491d3f5dd3658769e38ca02158349e392" }, "downloads": -1, "filename": "py_ctp-6.5.1.119-py3-none-any.whl", "has_sig": false, "md5_digest": "b0c5180ce6f19ef5d9d3029dab7816db", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 11465791, "upload_time": "2021-01-19T07:26:22", "upload_time_iso_8601": "2021-01-19T07:26:22.739465Z", "url": "https://files.pythonhosted.org/packages/6f/06/ac55ea5df362fae744dab1a1552bfa86ac054f7761ce998be6fdcbbefacf/py_ctp-6.5.1.119-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6b126fd29480949917c715cd3db4f99c", "sha256": "06344b6252d003c9977056294902d18358c80c3489cf84192175096d2b6e0891" }, "downloads": -1, "filename": "py_ctp-6.5.1.119.tar.gz", "has_sig": false, "md5_digest": "6b126fd29480949917c715cd3db4f99c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6555796, "upload_time": "2021-01-19T07:21:01", "upload_time_iso_8601": "2021-01-19T07:21:01.733792Z", "url": "https://files.pythonhosted.org/packages/d4/63/f192c0e98ec86cf57421cc357bdb00582620c065c9c63571b6abc9e97656/py_ctp-6.5.1.119.tar.gz", "yanked": false, "yanked_reason": null } ], "6.5.1.20220505": [ { "comment_text": "", "digests": { "md5": "77f958c972a6ad815c71e9dd2f95d73f", "sha256": "6343d4a92155c5bbb8fdf47cdbf2a77a46d8fa18cae9707843d2d7098ec286d1" }, "downloads": -1, "filename": "py_ctp-6.5.1.20220505-py3-none-any.whl", "has_sig": false, "md5_digest": "77f958c972a6ad815c71e9dd2f95d73f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 11465048, "upload_time": "2022-05-04T08:26:29", "upload_time_iso_8601": "2022-05-04T08:26:29.476737Z", "url": "https://files.pythonhosted.org/packages/45/88/0e0c09cfabc3e2e49b022da4c9ef6b99c25dc0934e9742e507a1890f303e/py_ctp-6.5.1.20220505-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8fcbbf4eb62f720ac094b97adf0e2d91", "sha256": "1add645dc3e85f4ab31e99e1d9db76bb1bff9428ad55e9547d3656464f790589" }, "downloads": -1, "filename": "py_ctp-6.5.1.20220505.tar.gz", "has_sig": false, "md5_digest": "8fcbbf4eb62f720ac094b97adf0e2d91", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6552567, "upload_time": "2022-05-04T08:24:24", "upload_time_iso_8601": "2022-05-04T08:24:24.980350Z", "url": "https://files.pythonhosted.org/packages/ab/ee/fad6f8cfa008c802560dd0e2ea56b5648778276f570f0c42ce32621fbc09/py_ctp-6.5.1.20220505.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "77f958c972a6ad815c71e9dd2f95d73f", "sha256": "6343d4a92155c5bbb8fdf47cdbf2a77a46d8fa18cae9707843d2d7098ec286d1" }, "downloads": -1, "filename": "py_ctp-6.5.1.20220505-py3-none-any.whl", "has_sig": false, "md5_digest": "77f958c972a6ad815c71e9dd2f95d73f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 11465048, "upload_time": "2022-05-04T08:26:29", "upload_time_iso_8601": "2022-05-04T08:26:29.476737Z", "url": "https://files.pythonhosted.org/packages/45/88/0e0c09cfabc3e2e49b022da4c9ef6b99c25dc0934e9742e507a1890f303e/py_ctp-6.5.1.20220505-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8fcbbf4eb62f720ac094b97adf0e2d91", "sha256": "1add645dc3e85f4ab31e99e1d9db76bb1bff9428ad55e9547d3656464f790589" }, "downloads": -1, "filename": "py_ctp-6.5.1.20220505.tar.gz", "has_sig": false, "md5_digest": "8fcbbf4eb62f720ac094b97adf0e2d91", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6552567, "upload_time": "2022-05-04T08:24:24", "upload_time_iso_8601": "2022-05-04T08:24:24.980350Z", "url": "https://files.pythonhosted.org/packages/ab/ee/fad6f8cfa008c802560dd0e2ea56b5648778276f570f0c42ce32621fbc09/py_ctp-6.5.1.20220505.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }