Skip to main content

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

Project description

https://travis-ci.org/simock85/anypubsub.png?branch=master

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

Usage

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.

Source Distribution

anypubsub-0.1.tar.gz (4.5 kB view details)

Uploaded Source

File details

Details for the file anypubsub-0.1.tar.gz.

File metadata

  • Download URL: anypubsub-0.1.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for anypubsub-0.1.tar.gz
Algorithm Hash digest
SHA256 5be378ffd016f0b5df8eda10a1b24f1bbe10d523d6dc415f8b098ec5f4b2755e
MD5 14c3cbb578a56b8b261d7dba01137a75
BLAKE2b-256 0845b589bff9761f264a6a5321d38510db81809aa2b1cab5af2a1a848f22fc9c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page