Skip to main content

Message service implementing publisher/subscriber pattern

Project description


Build Status Coverage PyPI version GitHub

Simple, single-purpose message service implementation.


Python versin 3.7+ required

Just install it with pip: pip install apubsub


from apubsub import Service

service = Service()

# Note that service is started in stand-alone process
# so start it as early as possible to minimize resource pickling*

class Klass:

    def __init__(self):
        self.sub = service.get_client()
        await self.sub.start_consuming()  # subscriber should be started
        = service.get_client()  # if used only as publisher, it is not required

    async def do_smth(self):
        data = await self.sub.get(.1)  # fetch received data with timeout
        if data is None:
            print("No data received by subscriber")
    async def do_smth_else(self):
        msg = "some string data"
        await"topic", msg)

    async def use_iter_get(self):
        async for data in self.sub.get_iter():
            print(f"Data received: {data}")

Check out more examples in tests

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for apubsub, version 0.2.5
Filename, size File type Python version Upload date Hashes
Filename, size apubsub-0.2.5-py3-none-any.whl (8.6 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size apubsub-0.2.5.tar.gz (7.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page