{ "info": { "author": "wetblanketcc", "author_email": "35851045+wetblanketcc@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: AsyncIO", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: System :: Networking" ], "description": "**``aiojsonrpc2`` is a Python3 JSONRPC module built using ``asyncio``.**\n\n- Supports Python 3.5+ only (uses ``async``/``await`` syntax)\n- Plain socket transport (not JSONRPC over HTTP)\n- Supports secure TLS (ie. SSL) sockets\n\nThis is a new, fast, and modern JSONRPC module originally built to\nsupport\n```aiostratum_proxy`` `__\n(a next-gen, extensible cryptocurrency mining proxy). However, releasing\nit as it\u2019s own independent Python package made the most sense.\n\nInstallation\n^^^^^^^^^^^^\n\nThere are currently no external dependencies required for\n``aiojsonrpc2``, and installation is simple:\n\n::\n\n pip install aiojsonrpc2\n\nUsage\n^^^^^\n\nTo use ``aiojsonrpc2`` and depending on your needs, you need to\nimplement either a client or server \u2018protocol\u2019. Both ``ClientProtocol``\nand ``ServerProtocol`` let you handle bi-directional JSONRPC\ncommunication.\n\nAll incoming JSONRPC requests infer a protocol instance method from the\nJSONRPC ``method`` parameter. For example, if the ``method`` contains\n``client.show_message``, then the protocol class implementation must\nhave an instance method called ``handle_client_show_message``:\n\n::\n\n from aiojsonrpc2 import ClientProtocol, ServerProtocol\n\n class MyClientProtocol(ClientProtocol):\n # NOTE: the opposing connection (perhaps a server) would\n # have sent the `client.show_message` request;\n # bidirectional communication!\n def handle_client_show_message(self, connection, params, **kwargs):\n # assuming the message to show is `params[0]`\n print(params[0])\n\nNote how all ``.`` (ie. full stops/periods) from the JSONRPC ``method``\nparameter are replaced by ``_`` (ie. underscore).\n\nFuture Considerations\n^^^^^^^^^^^^^^^^^^^^^\n\nCommunity involvement is appreciated. `Code\nreview `__, `pull requests\nfor bug fixes &\nimprovements `__,\n`reporting\nissues `__,\nspreading the word - all appreciated.\n\nTODO:\n'''''\n\n- tests\n- travis integration\n- handle `haproxy ``PROXY``\n protocol `__\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wetblanketcc/aiojsonrpc2", "keywords": "jsonrpc async asyncio aio json rpc", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "aiojsonrpc2", "package_url": "https://pypi.org/project/aiojsonrpc2/", "platform": "", "project_url": "https://pypi.org/project/aiojsonrpc2/", "project_urls": { "Homepage": "https://github.com/wetblanketcc/aiojsonrpc2" }, "release_url": "https://pypi.org/project/aiojsonrpc2/1.0.0/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Python3 asyncio JSONRPC module", "version": "1.0.0" }, "last_serial": 3689930, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "7f195fae44a8a7b0de37d0dd71405c38", "sha256": "e97d94deee4361e14f7d09f0c4273f32f2d4150efb1ce30b783e4f0f5478f7db" }, "downloads": -1, "filename": "aiojsonrpc2-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7f195fae44a8a7b0de37d0dd71405c38", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9507, "upload_time": "2018-03-21T02:52:41", "url": "https://files.pythonhosted.org/packages/f9/7f/2d19422b4cd0bfa2cc86c84311255fc94a873570005f3559350f8a9f0dcc/aiojsonrpc2-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8265e361a65122825f4882c443612ba0", "sha256": "0d5f892983b299ca7a79feeae6aa56cdd76370b590e00d6721519c0a9bae3a6d" }, "downloads": -1, "filename": "aiojsonrpc2-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8265e361a65122825f4882c443612ba0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 7958, "upload_time": "2018-03-21T02:52:43", "url": "https://files.pythonhosted.org/packages/c5/69/0c87386c1d5b5e8bbd5c187ac14fcaf0f8827ad7b0c393301a1a83ea7d7b/aiojsonrpc2-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7f195fae44a8a7b0de37d0dd71405c38", "sha256": "e97d94deee4361e14f7d09f0c4273f32f2d4150efb1ce30b783e4f0f5478f7db" }, "downloads": -1, "filename": "aiojsonrpc2-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7f195fae44a8a7b0de37d0dd71405c38", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9507, "upload_time": "2018-03-21T02:52:41", "url": "https://files.pythonhosted.org/packages/f9/7f/2d19422b4cd0bfa2cc86c84311255fc94a873570005f3559350f8a9f0dcc/aiojsonrpc2-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8265e361a65122825f4882c443612ba0", "sha256": "0d5f892983b299ca7a79feeae6aa56cdd76370b590e00d6721519c0a9bae3a6d" }, "downloads": -1, "filename": "aiojsonrpc2-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8265e361a65122825f4882c443612ba0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 7958, "upload_time": "2018-03-21T02:52:43", "url": "https://files.pythonhosted.org/packages/c5/69/0c87386c1d5b5e8bbd5c187ac14fcaf0f8827ad7b0c393301a1a83ea7d7b/aiojsonrpc2-1.0.0.tar.gz" } ] }