Skip to main content

A generic interface wrapping multiple different backends to provide a consistent pubsub API.

Project description

A generic interface wrapping multiple backends to provide a consistent pubsub API.


Create a pubsub object:

from anypubsub import create_pubsub
pubsub = create_pubsub('redis')

or create a pubsub object from settings:

from anypubsub import create_pubsub_from_settings
pubsub = create_pubsub_from_settings({'anypubsub.backend': 'redis'}, prefix='anypubsub.')

Subscribe to a channel:

subscriber = pubsub.subscribe('a_channel')

you can also subscribe to multiple channels:

subscriber = pubsub.subscribe('a_channel', 'b_channel')

the subscriber is an iterator object that returns the next published message at each loop increment, and blocks until next message is published.

Publish a message to a channel:

pubsub.publish('a_channel', 'hello world!')

message = next(subscriber)
assert message == 'hello world!'

Supported backends

  • redis
  • mongodb

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 anypubsub, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size anypubsub-0.1.tar.gz (4.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page