This project has been archived by its maintainers, and is no longer receiving any updates.
Serfio: Python client for Serf
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.
Installation
PyPi: https://pypi.org/project/serfio/
pip install serfio
Usage
import asyncio
import serfio
async def main():
async with serfio.Serf() as serf:
response = await serf.members()
print(response)
Development
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/
Reference
Serf:
- Serf: https://www.serf.io/
- Serf RPC: https://www.serf.io/docs/agent/rpc.html
Alternatives
- aioserf: https://pypi.org/project/aioserf/
- asyncserf: https://pypi.org/project/asyncserf/
- serf-python: https://github.com/spikeekips/serf-python
Release files for serfio 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| serfio-0.3.3.tar.gz | 27.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| serfio-0.3.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.0 kB
Release files / serfio-0.3.3.tar.gz
| Download URL | serfio-0.3.3.tar.gz |
|---|---|
| Size | 27.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e24e4fb501356a62bb7c1cd8ef3a6b5942adfbd0fbe99d55a10788739a1d2492
|
|
BLAKE2b-256 checksum How to use checksums |
6392ed3c36e5b7085399b651f9b87b98386832f45c45a091ba8b8fde50023341
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Release files / serfio-0.3.3-py3-none-any.whl
| Download URL | serfio-0.3.3-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e29712165cdfebbab0217e52ec706897a9d830d885dd39e5a7d77a1cb8481562
|
|
BLAKE2b-256 checksum How to use checksums |
1f76cb1c5e98aa6ccb55f4f38dde68a255275875643b89dd8cd57becca928dac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|