{ "info": { "author": "Alex Buchkovsky", "author_email": "alex.buchkovsky@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Python SignalR client\n\n*Note: Library is currently not compatible with ASP.NET Core SignalR (.NET Core 2.1), due to changes in SignalR protocol there*\n\n## Install using pip\n```\npip install signalrc\n```\n\n#### Usage\n\n```\nimport json\nfrom base64 import b64decode\nfrom zlib import MAX_WBITS, decompress\n\nfrom signalrc.signalrc import SignalRClient\n\n\ndef decode_message(message):\n deflated_msg = decompress(b64decode(message), -MAX_WBITS)\n return json.loads(deflated_msg.decode())\n\n\ndef on_debug(**msg):\n print(msg)\n if 'R' in msg and type(msg['R']) is not bool:\n decoded_msg = decode_message(msg['R'])\n print(decoded_msg)\n\n\ndef on_message(msg):\n decoded_msg = decode_message(msg)\n print(decoded_msg)\n\n\ndef on_error(msg):\n print(msg)\n\n\nsignalr_client = SignalRClient(\"https://socket.bittrex.com/signalr\", hub='c2')\n\nsignalr_client.start()\n\nsignalr_client.received.add_hooks(on_debug)\nsignalr_client.error.add_hooks(on_error)\n\nsignalr_client.subscribe_to_event('uE', on_message)\n\nsignalr_client.invoke('queryExchangeState', 'USD-BTC')\nsignalr_client.invoke('SubscribeToExchangeDeltas', 'USD-BTC')\n\nsignalr_client.run_while_open()\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/ahcub/signalrc", "keywords": "signalr,client,python", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "signalrc", "package_url": "https://pypi.org/project/signalrc/", "platform": "", "project_url": "https://pypi.org/project/signalrc/", "project_urls": { "Homepage": "https://github.com/ahcub/signalrc" }, "release_url": "https://pypi.org/project/signalrc/0.0.8/", "requires_dist": null, "requires_python": "", "summary": "SignalR client for Python", "version": "0.0.8" }, "last_serial": 5369616, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "f6f9a047e92684c55d8a3d9596507084", "sha256": "2a2a17f90a961ba473ba0785d99eda3a703615f1c90c301fee672c869d0593cb" }, "downloads": -1, "filename": "signalrc-0.0.0.tar.gz", "has_sig": false, "md5_digest": "f6f9a047e92684c55d8a3d9596507084", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3625, "upload_time": "2019-05-06T10:45:02", "url": "https://files.pythonhosted.org/packages/86/65/63c237cc8491a3b6fc5687c3e64bb3d87cddccc67a5c0e8ffc4da3576dd7/signalrc-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "bfd2b3d516f035ff20c20d40fbf96368", "sha256": "234e4f3864729e3f4f3bae94215c6ca58a68976523abee7bf646453434a48d9d" }, "downloads": -1, "filename": "signalrc-0.0.1.tar.gz", "has_sig": false, "md5_digest": "bfd2b3d516f035ff20c20d40fbf96368", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3626, "upload_time": "2019-05-06T10:45:41", "url": "https://files.pythonhosted.org/packages/6a/c9/27124ca9da6241b713fdee1f8b1c04a53b820c0c68a2cc53e110a3e77b77/signalrc-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "73c8f03eb140901369d078f543964dbd", "sha256": "e4cb34e98cc04a62ab15a764a873140432ef93849bc5880a66e36f67b05064cd" }, "downloads": -1, "filename": "signalrc-0.0.2.tar.gz", "has_sig": false, "md5_digest": "73c8f03eb140901369d078f543964dbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3660, "upload_time": "2019-05-06T10:49:06", "url": "https://files.pythonhosted.org/packages/ff/3b/ec39cc796345ad593cc9a8a3954d1f4c4f38a4532e782abf74d8b0ca9178/signalrc-0.0.2.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "4c3d09437b7704227422a48f27861c61", "sha256": "ee3bd37ed083aa41abfeb000ad8fd8a7bfc18aa5a7e2f0cba9455a1e2d01ef27" }, "downloads": -1, "filename": "signalrc-0.0.4.tar.gz", "has_sig": false, "md5_digest": "4c3d09437b7704227422a48f27861c61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3801, "upload_time": "2019-05-06T10:56:35", "url": "https://files.pythonhosted.org/packages/77/b0/29e923e7d233180d21e2250e06a9c432134ea56dc453724cd68bbafe5cd5/signalrc-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "35d757352d22568f5202d2eb41d897a7", "sha256": "f97c43e78d8e714d58eab7956fde26672a52b3f41bd10919632951122c935594" }, "downloads": -1, "filename": "signalrc-0.0.5.tar.gz", "has_sig": false, "md5_digest": "35d757352d22568f5202d2eb41d897a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3802, "upload_time": "2019-05-17T09:26:56", "url": "https://files.pythonhosted.org/packages/e4/0a/0d30a6cbdff6371c9d52f6c972952b286bb6db57bf5518b4451b44a9d2d9/signalrc-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "6ec5da46d15d03f1a9e2d89ba9f5468a", "sha256": "4395e3ac8c01c89a788e5e41c2ad2e59a839b32d4c77edc31bf2b6f05a47aa9a" }, "downloads": -1, "filename": "signalrc-0.0.6.tar.gz", "has_sig": false, "md5_digest": "6ec5da46d15d03f1a9e2d89ba9f5468a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3812, "upload_time": "2019-05-17T10:01:48", "url": "https://files.pythonhosted.org/packages/37/c2/d23c85f7f4e96f40bb3158478303b31f56a768b4c8dbca25517c8db6318d/signalrc-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "bf9c75d8626a50e09e93497b0e39c28f", "sha256": "6fc8883bd3aebb7db51f2634a0f571af4abe7d3a9cd0487771c6920c8541a32b" }, "downloads": -1, "filename": "signalrc-0.0.7.tar.gz", "has_sig": false, "md5_digest": "bf9c75d8626a50e09e93497b0e39c28f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3846, "upload_time": "2019-05-29T20:55:33", "url": "https://files.pythonhosted.org/packages/60/6f/323d1a8e0fd6af508f0197c50bf0500e6bd37ecbf07d29b881aac560f406/signalrc-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "1b549febf1b031fca2fe6be63b304215", "sha256": "23506f0286130dbe4858a4ebf0eae01f1fd9c11b1adad550698ecc8e3efe1f63" }, "downloads": -1, "filename": "signalrc-0.0.8.tar.gz", "has_sig": false, "md5_digest": "1b549febf1b031fca2fe6be63b304215", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3891, "upload_time": "2019-06-07T00:04:42", "url": "https://files.pythonhosted.org/packages/b0/ba/826cb1ec29aea136c18729e4692fdbfa0f6526cb4ffdd4bc51682af60ce7/signalrc-0.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1b549febf1b031fca2fe6be63b304215", "sha256": "23506f0286130dbe4858a4ebf0eae01f1fd9c11b1adad550698ecc8e3efe1f63" }, "downloads": -1, "filename": "signalrc-0.0.8.tar.gz", "has_sig": false, "md5_digest": "1b549febf1b031fca2fe6be63b304215", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3891, "upload_time": "2019-06-07T00:04:42", "url": "https://files.pythonhosted.org/packages/b0/ba/826cb1ec29aea136c18729e4692fdbfa0f6526cb4ffdd4bc51682af60ce7/signalrc-0.0.8.tar.gz" } ] }