serfio
is a Python asyncio
client for Serf. The goal was to create client with zero or minimal dependencies. It allows to use it with Debian 12 (Bookworm) without installing any additional packages, besides python3
and python3-msgpack
. As far as I know, this eliminates licensing and security concerns, relieving my headaches.
serfio
implements all Serf RPC commands. It includes streams
implemented as async iterators (everything is implemented as an async iterator 🧐). That was another goal: to make easy to use interface. At this stage of development is very straightforward and simple, and might not change in future.
serfio
is under development, it is not yet tested in production. It was tested with Serf 0.8.2. For more mature client see alternatives.
PyPi: https://pypi.org/project/serfio/
pip install serfio
import asyncio
import serfio
async def main():
async with serfio.Serf() as serf:
response = await serf.members()
print(response)
direnv allow .
pipenv install --dev
make lint
make test
Prerequisites:
- direnv: https://direnv.net/
- pipenv: https://pipenv.pypa.io/en/latest/
- pytest: https://docs.pytest.org/en/latest/
- docker: https://www.docker.com/
Serf:
- Serf: https://www.serf.io/
- Serf RPC: https://www.serf.io/docs/agent/rpc.html
- aioserf: https://pypi.org/project/aioserf/
- asyncserf: https://pypi.org/project/asyncserf/
- serf-python: https://github.com/spikeekips/serf-python