Skip to content

xk0/SmartRPyC

Repository files navigation

SmartRPyC

A small but powerful RPC library for Python, powered by ZeroMQ.

Branch Status Coverage
master Build Status Coverage Status
develop Build Status Coverage Status

pypi / Crate.io: PyPi version PyPi downloads

Latest version: 0.2-alpha

Installing

You can simply install from PyPI:

pip install smartrpyc==0.2a

or, if you want the latest version from git:

pip install git+git://github.com/xk0/SmartRPyC.git@master#egg=SmartRPyC

Compatibility

The library has been tested and is known to work on:

  • CPython 2.6
  • CPython 2.7
  • CPython 3.2
  • CPython 3.3

Note: Python3 support is provided via 2to3 conversion, automatically handled by distribute on install. Everything should work just fine.

Note: There currently are some problems with PyPy due to dependency on C extensions.

Usage

Have a look at the SmartRPyC documentation.

Why not ZeroRPC?

While dotCloud's ZeroRPC is a very valid project, there are some things we wanted to improve over it:

  • More Pythonic: I didn't need to support cross-language compatibility, so I opted for improving the support for Python, by allowing things like keyword arguments.

  • Simpler: I didn't need some features offered by ZeroRPC, while I needed the ability to extend the library to add some others.

  • Support middleware: for things like authentication management, it's way better to have the server/client handle what needed in the background, than doing ugly things such as adding a "token" argument to every call requiring authentication.

  • Some bugfixes: for example, we're not sharing the same ZeroRPC context for everything, as this would cause issues when running in a multithreaded environment (eg. when using the client in a flask view).

Testing

To run the full test suite, from the sources folder, run:

% python setup.py test

You can also run the complete test suite with different Python versions by using tox:

% pip install tox
% tox

Authors

Project links


Bitdeli Badge

About

A small but powerful RPC library for Python, powered by ZeroMQ.

Resources

License

Stars

Watchers

Forks

Packages

No packages published