{ "info": { "author": "Xiong Neng", "author_email": "yidao620@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Build Tools" ], "description": "xnrpc\n=====\n\nxnrpc is a light-weight, reliable and language-agnostic library for\ndistributed communication between server-side processes.\nIt builds on top of zerorpc and gevent, simple ,efficient and robust.\n\n*features*\n\n* support heartbeat and timeout\n* graceful exceptions handler\n* support pipeline commands\n* asynchronous I/O, support large concurrency\n* very simple to use\n\n*demo*\n\na simple server and client example:\n\n.. code-block:: python\n\n from xnrpc.server import RpcInterface, ServerManager\n from xnrpc.client import open_client\n from xnrpc.common.log import get_log\n _log = get_log(__name__)\n\n\n class OperationRpcInterface(RpcInterface):\n\n def ls_file(self):\n _log.info('Operation ls file')\n return None\n\n def check_ip(self):\n _log.info('Operation check ip')\n return None\n\n if __name__ == '__main__':\n # \u542f\u52a8RPC\u670d\u52a1\u5668\n rpc_interface = OperationRpcInterface\n url = 'tcp://127.0.0.1:7772'\n server = ServerManager(url, rpc_interface, name='Test Server')\n server.start()\n\n # \u5efa\u7acb\u4e00\u4e2a\u5ba2\u6237\u7aef\u8fde\u63a5\n with open_client(url) as client:\n client.ls_file()\n client.check_ip()\n\n # \u505c\u6b62\u670d\u52a1\u5668\n server.stop()\n\n\nResources\n=========\n\n* `GitHub repository `_\n* `Python User Guide `_", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yidao620c/xnrpc", "keywords": "xnrpc,gevent,zerorpc,subprocess", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "xnrpc", "package_url": "https://pypi.org/project/xnrpc/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/xnrpc/", "project_urls": { "Homepage": "https://github.com/yidao620c/xnrpc" }, "release_url": "https://pypi.org/project/xnrpc/1.2.2/", "requires_dist": [ "gevent (>=1.1.2)", "zerorpc (>=0.6.0)" ], "requires_python": "", "summary": "simple rpc based on zerorpc and gevent", "version": "1.2.2" }, "last_serial": 2642794, "releases": { "1.2.2": [ { "comment_text": "", "digests": { "md5": "a0e66c23a8476b3f2498569390a742b4", "sha256": "ea539ffd7e1d9a7ec1ee754297b614a683db1e8c426e56950e75efd6a012c1f8" }, "downloads": -1, "filename": "xnrpc-1.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "a0e66c23a8476b3f2498569390a742b4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 12560, "upload_time": "2017-02-15T02:50:58", "url": "https://files.pythonhosted.org/packages/f7/d9/b75199d8c8de6895a896caf76bacb6bcfc0e09b5d71871e8b0aa5de4f787/xnrpc-1.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a38b2cd14bf2ab7790a567df1abe9a1c", "sha256": "95750f72b4877ba7c7afacca1439ef4c75727ac3c24081cf4aa3de7fe530a869" }, "downloads": -1, "filename": "xnrpc-1.2.2.tar.gz", "has_sig": false, "md5_digest": "a38b2cd14bf2ab7790a567df1abe9a1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9064, "upload_time": "2017-02-15T02:51:00", "url": "https://files.pythonhosted.org/packages/ff/45/ff5bcf7eb21697f4ba6f5c6a0c3ab9de58a19d7a976cacdfd394727dcb21/xnrpc-1.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a0e66c23a8476b3f2498569390a742b4", "sha256": "ea539ffd7e1d9a7ec1ee754297b614a683db1e8c426e56950e75efd6a012c1f8" }, "downloads": -1, "filename": "xnrpc-1.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "a0e66c23a8476b3f2498569390a742b4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 12560, "upload_time": "2017-02-15T02:50:58", "url": "https://files.pythonhosted.org/packages/f7/d9/b75199d8c8de6895a896caf76bacb6bcfc0e09b5d71871e8b0aa5de4f787/xnrpc-1.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a38b2cd14bf2ab7790a567df1abe9a1c", "sha256": "95750f72b4877ba7c7afacca1439ef4c75727ac3c24081cf4aa3de7fe530a869" }, "downloads": -1, "filename": "xnrpc-1.2.2.tar.gz", "has_sig": false, "md5_digest": "a38b2cd14bf2ab7790a567df1abe9a1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9064, "upload_time": "2017-02-15T02:51:00", "url": "https://files.pythonhosted.org/packages/ff/45/ff5bcf7eb21697f4ba6f5c6a0c3ab9de58a19d7a976cacdfd394727dcb21/xnrpc-1.2.2.tar.gz" } ] }