Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

Awesome Lists containing this project

README

        

.. image:: https://travis-ci.org/deliveryhero/lymph.svg?branch=master
:target: https://travis-ci.org/deliveryhero/lymph

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

.. _ZooKeeper: http://zookeeper.apache.org
.. _Getting Started Guide: http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html
.. _RabbitMQ: http://www.rabbitmq.com/