{ "info": { "author": "Kamil D\u0119bowski", "author_email": "poczta@kdebowski.pl", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# starlette-jsonrpc\n\n[![Build Status](https://travis-ci.com/kdebowski/starlette-jsonrpc.svg?token=JXg8SCx8Y9Ybz183mTgo&branch=master)](https://travis-ci.com/kdebowski/starlette-jsonrpc)\n[![codecov](https://codecov.io/gh/kdebowski/starlette-jsonrpc/branch/master/graph/badge.svg?token=3DkWshhv8x)](https://codecov.io/gh/kdebowski/starlette-jsonrpc)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\n## Installation\n\n```bash\npip install starlette-jsonrpc\n```\n\n\n## Examples\n\nCode:\n```python\nimport uvicorn\nfrom starlette.applications import Starlette\n\nfrom starlette_jsonrpc import dispatcher\nfrom starlette_jsonrpc.endpoint import JSONRPCEndpoint\n\n\napp = Starlette()\n\n\n@dispatcher.add_method\nasync def subtract(params):\n return params[\"x\"] - params[\"y\"]\n\n\n@dispatcher.add_method(name=\"SubtractMethod\")\nasync def seconds_subtract(params):\n return params[\"x\"] - params[\"y\"]\n\n\n@dispatcher.add_method\nasync def subtract_positional(x, y):\n return x - y\n\n\napp.mount(\"/api\", JSONRPCEndpoint)\n\nif __name__ == \"__main__\":\n uvicorn.run(app)\n```\n\nExample of requests:\n\n```json\n{\n \"jsonrpc\": \"2.0\",\n \"method\": \"subtract\",\n \"params\": {\"x\": 42, \"y\": 23},\n \"id\": \"1\"\n}\n```\n\n```json\n{\n \"jsonrpc\": \"2.0\",\n \"method\": \"SubtractMethod\",\n \"params\": {\"x\": 42, \"y\": 23},\n \"id\": \"1\"\n}\n```\n\n```json\n{\n \"jsonrpc\": \"2.0\",\n \"method\": \"subtract_positional\",\n \"params\": [42, 23],\n \"id\": \"1\"\n}\n```\n\nExample of response:\n\n```json\n{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"result\": 19\n}\n```\n\n## Contributing\n\nThank you for your interest in contributing. Everyone is welcome to take part in developting this package. Please fFollow contributing guide in [CONTRIBUTING.md](https://github.com/kdebowski/starlette-jsonrpc/blob/master/CONTRIBUTING.md).\n\n## Support\n\nIf you like this project and find it useful and want to say \"Thank you\", please consider to [buy me a coffee](https://buymeacoff.ee/zRWISPHo0) ;)\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/kdebowski/starlette-jsonrpc", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "starlette-jsonrpc", "package_url": "https://pypi.org/project/starlette-jsonrpc/", "platform": "", "project_url": "https://pypi.org/project/starlette-jsonrpc/", "project_urls": { "Homepage": "https://github.com/kdebowski/starlette-jsonrpc" }, "release_url": "https://pypi.org/project/starlette-jsonrpc/0.2.0/", "requires_dist": [ "requests (==2.21.0)", "starlette (==0.11.4)", "typesystem (==0.2.0)" ], "requires_python": "", "summary": "JSON-RPC implementation for Starlette framework", "version": "0.2.0" }, "last_serial": 5223748, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "da66184f24421ca439a03fe27c9aa91a", "sha256": "1b9b23a0a1c08726f870ce2ba89c9d7a756d251e1bc85866b4c39a92a477a24a" }, "downloads": -1, "filename": "starlette_jsonrpc-0.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "da66184f24421ca439a03fe27c9aa91a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8339, "upload_time": "2019-04-08T20:00:43", "url": "https://files.pythonhosted.org/packages/d7/93/0d4711588ec4c5932028eb1edd2f9d08c43a3fa4c80d5bd268990d5757c8/starlette_jsonrpc-0.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "12169b1593ef9282453cd259d915ad3a", "sha256": "d60c9d565e8944d39bd5bd87f562c036804c720397b89e2e3f52499c7da68fbd" }, "downloads": -1, "filename": "starlette-jsonrpc-0.0.0.tar.gz", "has_sig": false, "md5_digest": "12169b1593ef9282453cd259d915ad3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4861, "upload_time": "2019-04-08T20:00:45", "url": "https://files.pythonhosted.org/packages/cb/f6/7b457f483de23cf291cf4170c7464cd53bc00b4a1fbcd43ed356dbdd2663/starlette-jsonrpc-0.0.0.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "946553186d5c01d3fd7bf846f7ffc23f", "sha256": "dca4e58f2a64aaf76389f2398063718b04cefd8ffca6e2668a562d7618381f9a" }, "downloads": -1, "filename": "starlette_jsonrpc-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "946553186d5c01d3fd7bf846f7ffc23f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7811, "upload_time": "2019-04-18T12:18:22", "url": "https://files.pythonhosted.org/packages/d9/93/050c0afc8fcdf196836b3cbd7b17b61e19a65dee7ef8b8ca04e05afe46e9/starlette_jsonrpc-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c435c60726b3571e739f48678f28a62", "sha256": "941c184df8de894f8ca6bdb3944e78d7ac4243574de2b2822d1c8fc9d1cebcf3" }, "downloads": -1, "filename": "starlette-jsonrpc-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8c435c60726b3571e739f48678f28a62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4834, "upload_time": "2019-04-18T12:18:23", "url": "https://files.pythonhosted.org/packages/f5/d1/6e18b00e5cdcfc6f5d15f3959bd2b379a87ac1181c7ffa2b0b10f153bb84/starlette-jsonrpc-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a3b9188b1491e0e5c18f5843859645b3", "sha256": "dcc34787df48f0e01d35a9de1267a5f7468bda0045393e1f5260c784c48864a5" }, "downloads": -1, "filename": "starlette_jsonrpc-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a3b9188b1491e0e5c18f5843859645b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9566, "upload_time": "2019-05-03T21:17:22", "url": "https://files.pythonhosted.org/packages/be/da/724e9c98f7410b070b091e4bbc2429d8b22e7813699568bdd171547bb403/starlette_jsonrpc-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b6e6bb1e11d8a2cefa047fa4a6d561ec", "sha256": "800d517a3b0a89500793f2999b690c59fcd7134dfedf488bebc03f356bc09c15" }, "downloads": -1, "filename": "starlette-jsonrpc-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b6e6bb1e11d8a2cefa047fa4a6d561ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5418, "upload_time": "2019-05-03T21:17:24", "url": "https://files.pythonhosted.org/packages/fe/5e/c1b4c28505701e918dce71f18f846bb93f96e6f21f751e4e01ff5bc55216/starlette-jsonrpc-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a3b9188b1491e0e5c18f5843859645b3", "sha256": "dcc34787df48f0e01d35a9de1267a5f7468bda0045393e1f5260c784c48864a5" }, "downloads": -1, "filename": "starlette_jsonrpc-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a3b9188b1491e0e5c18f5843859645b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9566, "upload_time": "2019-05-03T21:17:22", "url": "https://files.pythonhosted.org/packages/be/da/724e9c98f7410b070b091e4bbc2429d8b22e7813699568bdd171547bb403/starlette_jsonrpc-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b6e6bb1e11d8a2cefa047fa4a6d561ec", "sha256": "800d517a3b0a89500793f2999b690c59fcd7134dfedf488bebc03f356bc09c15" }, "downloads": -1, "filename": "starlette-jsonrpc-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b6e6bb1e11d8a2cefa047fa4a6d561ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5418, "upload_time": "2019-05-03T21:17:24", "url": "https://files.pythonhosted.org/packages/fe/5e/c1b4c28505701e918dce71f18f846bb93f96e6f21f751e4e01ff5bc55216/starlette-jsonrpc-0.2.0.tar.gz" } ] }