Skip to main content

Python interface to Serf

Project description

Serfio: Python client for Serf

License

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:

Reference

Serf:

Alternatives

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

serfio-0.3.3.tar.gz (27.6 kB view hashes)

Uploaded Source

Built Distribution

serfio-0.3.3-py3-none-any.whl (7.4 kB view hashes)

Uploaded Python 3

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