Skip to main content

a service framework

Project description

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lymph-0.15.0.tar.gz (64.3 kB view details)

Uploaded Source

File details

Details for the file lymph-0.15.0.tar.gz.

File metadata

  • Download URL: lymph-0.15.0.tar.gz
  • Upload date:
  • Size: 64.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for lymph-0.15.0.tar.gz
Algorithm Hash digest
SHA256 90bac4d6459efef29a83037628ca6be9eec10cf26f575223a79118e207871d37
MD5 c36fc2f9696ace0f6df75f73754e3d19
BLAKE2b-256 d57a31f0a2c8590066400be76e823dea99d063222ba86df2394334bd70f0f395

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page