Python client for the Serf orchestration tool
Project description
asyncserf is an async Python interface to Serf, the decentralised solution for service discovery and orchestration.
It uses anyio <https://github.com/agronholm/anyio> as its underlying async framework.
Installation
asyncserf requires a running Serf agent. See Serf’s agent documentation for instructions.
To install asyncserf, run the following command:
$ pip install asyncserf
or alternatively (you really should be using pip though):
$ easy_install asyncserf
or from source:
$ python setup.py install
Getting Started
These examples require a running async loop. Trio <https://github.com/python-trio/trio> is recommended, though asyncio works too.
Sending a message is easy:
from asyncserf import serf_client async with serf_client() as client: await client.event('foo', b'bar')
So is receiving:
.. code-block:: python
from asyncserf import serf_client
- async with serf_client() as client:
- async with client.stream(‘foo’) as stream:
- async for resp in stream:
print(resp.payload)
Development
You can run the tests using the following commands:
$ serf agent --tag foo=bar & # start serf agent
$ python3 -mpytest tests
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 asyncserf-0.21.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b18de8e1e04f472d6a159aa7e05a1a72ba8434d192290a4fc5da532437575c1 |
|
MD5 | bc56e03e42ff3f266dd260be54e4462c |
|
BLAKE2b-256 | 66a5afdf5d3be8ccabea2a257e7a77f69aa441d6226ac4091de2b3339ea521ed |