AioSerf is an async Python interface to Serf, the decentralised solution for service discovery and orchestration.
It uses anyio <https://github.com/agronholm/anyio>, thus should work with
asyncio
, trio
, and curio
. Hopefully.
aioserf requires a running Serf agent. See Serf's agent documentation for instructions.
To install aioserf, run the following command:
$ pip install aioserf
or alternatively (you really should be using pip though):
$ easy_install aioserf
or from source:
$ python setup.py install
These examples require a running async loop.
Trio <https://github.com/python-trio/trio> is recommended, though
asyncio
works too.
from aioserf import serf_client
async with serf_client() as client:
await client.event('foo', 'bar')
Stream usage:
from aioserf import serf_client
async with serf_client() as client:
async with client.stream('*') as stream:
async for resp in stream:
print(resp)
aioserf requires a running Serf agent. See Serf's agent documentation for instructions.
You can run the tests using the following commands:
$ serf agent --tag foo=bar & # start serf agent
$ python3 -mpytest tests