{ "info": { "author": "Thibaut Castaings", "author_email": "castaings.t@protonmail.com", "bugtrack_url": null, "classifiers": [], "description": "# krakenforwarder\nThis Python program listens to trades from Crypto-exchange platform Kraken (https://www.kraken.com) and forwards them on a TCP port so you can plug in anything, like a live algorithmic trader or a live analysis tool.\n\n## Installation\n\n```pip3 install krakenforwarder``` \n\n## Usage\n\nLaunch the forwarder in sub-process, then listen\n\n```python\nimport time\nfrom multiprocessing import Process\n\nfrom krakenforwarder.forwarder import KrakenForwarder\nfrom krakenforwarder.listener import listen\nfrom krakenforwarder.util import F_ASSET_PAIR, F_PULL_PERIOD, F_ZMQ_PUBLISH_PORT, F_KEY_ZMQ_HOSTNAME\n\n\ncfg_forwarders = [\n {\n F_PULL_PERIOD: 5, # in seconds\n F_ASSET_PAIR: 'XXBTZEUR', # see kraken.com API documentation for available values\n F_ZMQ_PUBLISH_PORT: 5555\n },\n {\n F_PULL_PERIOD: 5, # in seconds\n F_ASSET_PAIR: 'XETHZEUR', # see kraken.com API documentation for available values\n F_ZMQ_PUBLISH_PORT: 5556\n },\n]\n\ncfg_listener = {\n F_KEY_ZMQ_HOSTNAME: 'localhost',\n F_ZMQ_PUBLISH_PORT: [cfg[F_ZMQ_PUBLISH_PORT] for cfg in cfg_forwarders]\n}\n\nproc_forwarders = []\nfor cfg in cfg_forwarders:\n kraken_forwarder = KrakenForwarder(cfg)\n forward_process = Process(target=kraken_forwarder.forward)\n proc_forwarders.append(forward_process)\n\nfor proc in proc_forwarders:\n proc.start()\n\ntime.sleep(1)\n\nfor msg in listen(cfg_listener):\n print(msg)\n\nfor proc in proc_forwarders:\n proc.join()\n```\n\nThis prints trades in console:\n\n```\n{\"pair\": \"XXBTZEUR\", \"Trade\": [\"9388.90000\", \"0.01604115\", 1568346002.9574, \"b\", \"m\", \"\"]}\n{\"pair\": \"XXBTZEUR\", \"Trade\": [\"9390.00000\", \"0.03569491\", 1568346002.9981, \"b\", \"m\", \"\"]}\n{\"pair\": \"XXBTZEUR\", \"Trade\": [\"9390.00000\", \"0.01000000\", 1568346003.0047, \"b\", \"m\", \"\"]}\n{\"pair\": \"XXBTZEUR\", \"Trade\": [\"9392.90000\", \"0.03477392\", 1568346003.0213, \"b\", \"m\", \"\"]}\nOVER\n...\n{\"pair\": \"XXBTZEUR\", \"Trade\": [\"9384.50000\", \"0.00500000\", 1568346015.5326, \"s\", \"m\", \"\"]}\nOVER\n{\"pair\": \"XETHZEUR\", \"Trade\": [\"162.98000\", \"0.24458271\", 1568346014.6035, \"s\", \"m\", \"\"]}\n{\"pair\": \"XETHZEUR\", \"Trade\": [\"162.98000\", \"0.00063427\", 1568346014.6274, \"s\", \"m\", \"\"]}\n{\"pair\": \"XETHZEUR\", \"Trade\": [\"162.98000\", \"0.00000165\", 1568346014.6296, \"s\", \"m\", \"\"]}\nOVER\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/supercuiller/krakenforwarder", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "krakenforwarder", "package_url": "https://pypi.org/project/krakenforwarder/", "platform": "", "project_url": "https://pypi.org/project/krakenforwarder/", "project_urls": { "Homepage": "https://github.com/supercuiller/krakenforwarder" }, "release_url": "https://pypi.org/project/krakenforwarder/0.4/", "requires_dist": null, "requires_python": "", "summary": "Forwards trades from Kraken.com to TCP port", "version": "0.4" }, "last_serial": 5823774, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "7ea4f5ad25e9758fe6543f81a169590f", "sha256": "b00357b44cfa1ad8e7054a1a936aee21d853004e945ae859876ac7517cd96bee" }, "downloads": -1, "filename": "krakenforwarder-0.1.tar.gz", "has_sig": false, "md5_digest": "7ea4f5ad25e9758fe6543f81a169590f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4221, "upload_time": "2018-08-26T20:35:53", "url": "https://files.pythonhosted.org/packages/78/a2/4941467202d2b442b1a2086593823995431c15f15d0fe5357ce489a7857c/krakenforwarder-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "ac9973894b361dc5d4dcbc615fd63c24", "sha256": "e8ec18ee8103862a6e466aa0a89c1cdc4155d57cf8453ed14270caa71e568825" }, "downloads": -1, "filename": "krakenforwarder-0.2.tar.gz", "has_sig": false, "md5_digest": "ac9973894b361dc5d4dcbc615fd63c24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4211, "upload_time": "2018-08-26T20:55:49", "url": "https://files.pythonhosted.org/packages/a6/49/249fd04c11e370c41b306bd0179aecff51d88c47d8c78f705d22a976dfda/krakenforwarder-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "77a22329c8b48f894a8b407b4330cad0", "sha256": "3f85cd26e29d3c525ab85aac61dffd07d5755cac2b63b982fb77ff17aed84883" }, "downloads": -1, "filename": "krakenforwarder-0.3.tar.gz", "has_sig": false, "md5_digest": "77a22329c8b48f894a8b407b4330cad0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4219, "upload_time": "2018-08-29T13:04:22", "url": "https://files.pythonhosted.org/packages/13/0d/4f36096dc4f0497ff48b6a1dfd990bffb78bd7a0db2a9e092efe5183c1fe/krakenforwarder-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "20f787ececd2d884c93b501c28a84b54", "sha256": "2776cf355e68da94f5b3b93c96aa88138cd12a20039eef1e11805398269d03fb" }, "downloads": -1, "filename": "krakenforwarder-0.4.tar.gz", "has_sig": false, "md5_digest": "20f787ececd2d884c93b501c28a84b54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4319, "upload_time": "2019-09-13T04:14:33", "url": "https://files.pythonhosted.org/packages/42/88/a4b35202192e2f1a2170d4f62ee808b24289874735a77f965040fc9d7996/krakenforwarder-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "20f787ececd2d884c93b501c28a84b54", "sha256": "2776cf355e68da94f5b3b93c96aa88138cd12a20039eef1e11805398269d03fb" }, "downloads": -1, "filename": "krakenforwarder-0.4.tar.gz", "has_sig": false, "md5_digest": "20f787ececd2d884c93b501c28a84b54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4319, "upload_time": "2019-09-13T04:14:33", "url": "https://files.pythonhosted.org/packages/42/88/a4b35202192e2f1a2170d4f62ee808b24289874735a77f965040fc9d7996/krakenforwarder-0.4.tar.gz" } ] }