{ "info": { "author": "Dmitry Galkin", "author_email": "mon4ter@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "# sanic-jsonrpc\n[![PyPI version](https://img.shields.io/pypi/v/sanic-jsonrpc.svg)](https://pypi.org/project/sanic-jsonrpc)\n[![Python version](https://img.shields.io/pypi/pyversions/sanic-jsonrpc.svg)](https://pypi.org/project/sanic-jsonrpc)\n\nJSON-RPC 2.0 support for Sanic over HTTP and WebSocket\n\n## Example\n\n### server.py\n```python\nfrom sanic import Sanic\nfrom sanic_jsonrpc import Jsonrpc\n\napp = Sanic()\njsonrpc = Jsonrpc(app, post_route='/api/rpc/post', ws_route='/api/rpc/ws')\n\n@jsonrpc\ndef sub(a: int, b: int) -> int:\n return a - b\n\nif __name__ == '__main__':\n app.run(host='127.0.0.1', port=8000)\n```\n\n### client.py\n```python\nfrom asyncio import get_event_loop\n\nfrom aiohttp import ClientSession\n\nasync def main():\n url = 'http://127.0.0.1:8000/api/rpc'\n request = {'jsonrpc': '2.0', 'method': 'sub', 'params': [42, 23], 'id': 1}\n\n async with ClientSession() as session:\n async with session.post(url + '/post', json=request) as resp:\n response = await resp.json()\n print(response['result']) # 19\n\n async with session.ws_connect(url + '/ws') as ws:\n await ws.send_json(request)\n response = await ws.receive_json()\n print(response['result']) # 19\n \nif __name__ == '__main__':\n get_event_loop().run_until_complete(main())\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/mon4ter/sanic-jsonrpc", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "sanic-jsonrpc", "package_url": "https://pypi.org/project/sanic-jsonrpc/", "platform": "", "project_url": "https://pypi.org/project/sanic-jsonrpc/", "project_urls": { "Homepage": "https://github.com/mon4ter/sanic-jsonrpc" }, "release_url": "https://pypi.org/project/sanic-jsonrpc/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "JSON-RPC 2.0 support for Sanic over HTTP and WebSocket", "version": "0.1.1" }, "last_serial": 5865476, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "8d865f97091094a643460e9a09b82476", "sha256": "6f679384ed781889b68bf4c58bc8af1300eda5d1247fe95c5addc251d7fe6a28" }, "downloads": -1, "filename": "sanic-jsonrpc-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8d865f97091094a643460e9a09b82476", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2703, "upload_time": "2019-08-12T03:37:31", "url": "https://files.pythonhosted.org/packages/73/8b/226e82f7786e0fa0aee35ab93f90409a4cf79d15dbbda5e98ce653505153/sanic-jsonrpc-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "b295c8f2d6a0b1fe63098d8b29dcba2b", "sha256": "689cf59982218629f4d91ac793fa56f1b6cb93eae31a284bac2214d997abd4d2" }, "downloads": -1, "filename": "sanic-jsonrpc-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b295c8f2d6a0b1fe63098d8b29dcba2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3844, "upload_time": "2019-08-19T01:51:46", "url": "https://files.pythonhosted.org/packages/b8/9d/ba6af8755bd6fd404901a22e83532f28326a35e28c20ca2d2319f871b7a2/sanic-jsonrpc-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a46913c3fafb28b2206910ded53b2ef0", "sha256": "a114ef49f51988d39faaae149f02cb189b38d24d84d1024c0c5211993268ee59" }, "downloads": -1, "filename": "sanic-jsonrpc-0.0.3.tar.gz", "has_sig": false, "md5_digest": "a46913c3fafb28b2206910ded53b2ef0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5132, "upload_time": "2019-08-30T08:58:46", "url": "https://files.pythonhosted.org/packages/1d/e9/8afb6bb58f349dde624e8ca9eff54e1b400dadd15853559ebbcb0b8a68f3/sanic-jsonrpc-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "f365e299f572e238175299cae02dfad1", "sha256": "276aedb111e3a22818d3a5a552d37e4c7a9a2138095370a3e80ebf24c7cdeb2d" }, "downloads": -1, "filename": "sanic-jsonrpc-0.0.4.tar.gz", "has_sig": false, "md5_digest": "f365e299f572e238175299cae02dfad1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5207, "upload_time": "2019-09-06T11:51:48", "url": "https://files.pythonhosted.org/packages/f2/8a/4c5de5548ae302d36c76b4fc8f5cbf322dcccb8e2e3f7765544a3479408c/sanic-jsonrpc-0.0.4.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "1a517e8196181814eb8ffad0f92e9f41", "sha256": "c04c81a6754defb4f3b9fcfab69af94ed9f8981734dcea72d789c84d6c17243f" }, "downloads": -1, "filename": "sanic-jsonrpc-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1a517e8196181814eb8ffad0f92e9f41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5127, "upload_time": "2019-09-21T07:46:33", "url": "https://files.pythonhosted.org/packages/9e/2d/77f97f6fe4a75d381922a753161ce273a22682530724910b391e3ae23af3/sanic-jsonrpc-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "de7bab7afc6aca10c2aea3a2133d3b67", "sha256": "7248f4417cb28e0a47194d236e4bf90caae076e09d3d97b4943ef8a41dca3c2e" }, "downloads": -1, "filename": "sanic-jsonrpc-0.1.1.tar.gz", "has_sig": false, "md5_digest": "de7bab7afc6aca10c2aea3a2133d3b67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5657, "upload_time": "2019-09-21T07:53:41", "url": "https://files.pythonhosted.org/packages/84/67/e62d472f734cbad1a8cf24385ebd1afbfa602fd83a0a2df47d248fe9f3c3/sanic-jsonrpc-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "de7bab7afc6aca10c2aea3a2133d3b67", "sha256": "7248f4417cb28e0a47194d236e4bf90caae076e09d3d97b4943ef8a41dca3c2e" }, "downloads": -1, "filename": "sanic-jsonrpc-0.1.1.tar.gz", "has_sig": false, "md5_digest": "de7bab7afc6aca10c2aea3a2133d3b67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5657, "upload_time": "2019-09-21T07:53:41", "url": "https://files.pythonhosted.org/packages/84/67/e62d472f734cbad1a8cf24385ebd1afbfa602fd83a0a2df47d248fe9f3c3/sanic-jsonrpc-0.1.1.tar.gz" } ] }