Metadata-Version: 2.1
Name: vxinaay-xnrpc
Version: 1.2.2
Summary: simple rpc based on zerorpc and gevent
Home-page: https://github.com/yidao620c/xnrpc
Author: jac lin
Author-email: vxinaay@gmail.com
License: MIT
Keywords: xnrpc,gevent,zerorpc,subprocess
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Requires-Dist: gevent (>=1.1.2)
Requires-Dist: zerorpc (>=0.6.0)


xnrpc
=====

xnrpc is a light-weight, reliable and language-agnostic library for
distributed communication between server-side processes.
It builds on top of zerorpc and gevent, simple ,efficient and robust.

*features*

* support heartbeat and timeout
* graceful exceptions handler
* support pipeline commands
* asynchronous I/O, support large concurrency
* very simple to use

*demo*

a simple server and client example:

.. code-block:: python

    from xnrpc.server import RpcInterface, ServerManager
    from xnrpc.client import open_client
    from xnrpc.common.log import get_log
    _log = get_log(__name__)


    class OperationRpcInterface(RpcInterface):

        def ls_file(self):
            _log.info('Operation ls file')
            return None

        def check_ip(self):
            _log.info('Operation check ip')
            return None

    if __name__ == '__main__':

        rpc_interface = OperationRpcInterface
        url = 'tcp://127.0.0.1:7772'
        server = ServerManager(url, rpc_interface, name='Test Server')
        server.start()


        with open_client(url) as client:
            client.ls_file()
            client.check_ip()


        server.stop()


Resources
=========

* `GitHub repository <https://github.com/yidao620c/xnrpc>`_
* `Python User Guide <https://www.python.org/doc/>`_



