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/base2.txt -r requirements/dev.txt $ pip install -e .
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.
Source Distribution
Built Distribution
Hashes for lymph-0.9.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9096fc15c6324574ada4de87e1173f838a43f663363f00b4067adf0ea6676418 |
|
MD5 | 527b19bf0c6b37e0081a4ac0ffd33b70 |
|
BLAKE2b-256 | 7cdcc70d652311be2fe76f5f798bddb989ce60976faac3945effd753343ca456 |