Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/deliveryhero/lymph
framework for Python services
https://github.com/deliveryhero/lymph
Last synced: about 2 months ago
JSON representation
framework for Python services
- Host: GitHub
- URL: https://github.com/deliveryhero/lymph
- Owner: deliveryhero
- License: other
- Created: 2014-05-28T08:24:51.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2019-11-27T09:29:11.000Z (almost 5 years ago)
- Last Synced: 2024-08-03T05:11:44.371Z (about 2 months ago)
- Language: Python
- Homepage:
- Size: 1.03 MB
- Stars: 79
- Watchers: 13
- Forks: 41
- Open Issues: 7
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- Contributing: docs/contributing.rst
- License: LICENSE
Awesome Lists containing this project
README
.. image:: https://travis-ci.org/deliveryhero/lymph.svg?branch=master
:target: https://travis-ci.org/deliveryhero/lymphLymph
=====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 ManagementThere'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.txtRun 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 nodeYou 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
.. _ZooKeeper: http://zookeeper.apache.org
.. _Getting Started Guide: http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html
.. _RabbitMQ: http://www.rabbitmq.com/