a service framework
Project description
Lymph
lymph is an opinionated framework for Python services. Its features are
Discovery: pluggable service discovery (e.g. backed by ZooKeeper)
RPC: request-reply messaging (via ZeroMQ + MessagePack)
Events: pluggable and reliable pub-sub messaging (e.g. backed by RabbitMQ)
Process Management
There’s documentation on readthedocs.org.
Installation (as a dependency)
# py-monotime requires python headers, and gevent and cython require build-essential $ sudo apt-get install build-essential python-dev
$ pip install https://github.com/deliveryhero/lymph.git#egg=lymph
Development (of lymph itself)
$ git clone https://github.com/deliveryhero/lymph.git $ cd lymph $ pip install -r requirements/dev.txt
Run tests with tox, build documentation with fab docs.
Running services
To run the example services, you can use the example node config in conf/sample-node.yml. You’ll also need a local installation of ZooKeeper (with the configuration provided in the Getting Started Guide) and RabbitMQ:
$ export PYTHONPATH=examples $ cp conf/sample-node.yml .lymph.yml $ lymph node
You can then discover running services:
$ lymph discover
and send requests to them from the commandline:
$ lymph request echo.upper '{"text": "transform me"}'
To see the log output of a running service, try:
$ lymph tail echo -l DEBUG
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.