{ "info": { "author": "Artem Mustafa", "author_email": "artemmus@yahoo.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: Freeware", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "jsonrpc_tornado: a compact asynchronous JSON-RPC client library for `Tornado framework `_\n=======================================================================================================\n\nMain Features\n-------------\n\n* Python 2.7 & 3.4 compatible\n* Exposes tornado.httpclient options\n* Non-Blocking I/O\n* Supports nested namespaces (eg. `app.users.getUsers()`)\n\nInstall\n-------\npip install git+https://github.com/artemmus/jsonrpc_tornado.git\n\nUsage\n-----\nA synchronous example:\n\n.. code-block:: python\n\n from jsonrpc_tornado import JSONRPCServer\n from tornado.httpclient import HTTPClient\n\n def fetch(server_url):\n server = JSONRPCServer(server_url, http_client=HTTPClient, \n request_timeout=5.0)\n\n # call some function on the server\n result = server.foo(1, 2)\n\n\nAn example of non-blocking calls:\n\n.. code-block:: python\n\n from jsonrpc_tornado import JSONRPCServer, ProtocolError, TransportError\n from tornado import gen\n\n @gen.coroutine\n def fetch_coroutine(server_url):\n server = JSONRPCServer(server_url, request_timeout=5.0)\n \n try:\n # call some function on the server \n result = yield server.foo(1, 2)\n except ProtocolError as err:\n logging.error('Some RPC error %s, %s', err.code, err)\n except TransportError as err:\n # err.args[1] refers to appropriate HTTPError\n logging.error('Transport error %s', err.args[1])\n\n\nTODO\n----\n\n* Tests\n\n\nCredits\n-------\n\nBased on `jsonrpc_requests ` by `Giuseppe Ciotta `_.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/artemmus/jsonrpc_tornado", "keywords": "json-rpc tornado asynchronous non-blocking", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "jsonrpc_tornado", "package_url": "https://pypi.org/project/jsonrpc_tornado/", "platform": "Any", "project_url": "https://pypi.org/project/jsonrpc_tornado/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/artemmus/jsonrpc_tornado" }, "release_url": "https://pypi.org/project/jsonrpc_tornado/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Asynchronous JSON-RPC client for Tornado", "version": "0.1.0" }, "last_serial": 1558994, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "49743207f6166a62fbf3a7265ed6b66c", "sha256": "a48ac7feebb9fde68a6dc2386933c30fffea31d9301b431fbe3da7988cf1f8ee" }, "downloads": -1, "filename": "jsonrpc_tornado-0.1.0.tar.gz", "has_sig": false, "md5_digest": "49743207f6166a62fbf3a7265ed6b66c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4150, "upload_time": "2015-05-23T07:32:49", "url": "https://files.pythonhosted.org/packages/61/3f/adf910f60fcd7d7408ce895e6d460959914e4340549616c324a5df8e237b/jsonrpc_tornado-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "49743207f6166a62fbf3a7265ed6b66c", "sha256": "a48ac7feebb9fde68a6dc2386933c30fffea31d9301b431fbe3da7988cf1f8ee" }, "downloads": -1, "filename": "jsonrpc_tornado-0.1.0.tar.gz", "has_sig": false, "md5_digest": "49743207f6166a62fbf3a7265ed6b66c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4150, "upload_time": "2015-05-23T07:32:49", "url": "https://files.pythonhosted.org/packages/61/3f/adf910f60fcd7d7408ce895e6d460959914e4340549616c324a5df8e237b/jsonrpc_tornado-0.1.0.tar.gz" } ] }