{ "info": { "author": "Simone Marzola", "author_email": "marzolasimone@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "anypubsub\n=========\n\n.. image:: https://travis-ci.org/smarzola/anypubsub.png?branch=master\n :target: https://travis-ci.org/smarzola/anypubsub\n\n.. image:: https://coveralls.io/repos/github/smarzola/anypubsub/badge.svg?branch=master\n :target: https://coveralls.io/github/smarzola/anypubsub?branch=master\n\n\nA generic interface wrapping multiple backends to provide a consistent pubsub API.\n\n\nUsage\n------\n\nCreate a pubsub object::\n\n from anypubsub import create_pubsub\n pubsub = create_pubsub('memory')\n\nor create a pubsub object from settings::\n\n from anypubsub import create_pubsub_from_settings\n pubsub = create_pubsub_from_settings({'anypubsub.backend': 'memory'}, prefix='anypubsub.')\n\nSubscribe to a channel::\n\n subscriber = pubsub.subscribe('a_channel')\n\nyou can also subscribe to multiple channels::\n\n subscriber = pubsub.subscribe('a_channel', 'b_channel')\n\nthe subscriber is an iterator object that returns the next published message at each loop increment, and blocks until\nnext message is published.\n\nPublish a message to a channel::\n\n pubsub.publish('a_channel', 'hello world!')\n\n message = next(subscriber)\n assert message == 'hello world!'\n\nSupported backends\n---------------------\n\n* memory\n* redis\n* mongodb\n* amqp (tested with rabbitmq)\n\nBackend specific optional settings\n-----------------------------------\n\nredis::\n\n host: hostname or full redis url, default: localhost\n port: default 6379\n db: default 0\n max_connections: connection pool max connections\n connection_pool: an already created redis-py ConnectionPool\n\nmongodb::\n\n host: hostname or full mongodb url\n port: mongodb port\n max-pool-size: connection pool max connections\n client: an already created pymongo MongoClient\n database: database used to store messages, default anypubsub\n collection: collection used to store messages, default anyps_messages\n collection_size: messages collection size in bytes, default 10MB\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/simock85/anypubsub", "keywords": "pubsub pub/sub redis mongodb", "license": "", "maintainer": "", "maintainer_email": "", "name": "anypubsub", "package_url": "https://pypi.org/project/anypubsub/", "platform": "", "project_url": "https://pypi.org/project/anypubsub/", "project_urls": { "Homepage": "http://github.com/simock85/anypubsub" }, "release_url": "https://pypi.org/project/anypubsub/0.6/", "requires_dist": [ "six", "amqp (>=1.4.9); extra == 'amqp'", "pymongo (>=3); extra == 'mongodb'", "redis (>2.10); extra == 'redis'" ], "requires_python": "", "summary": "A generic interface wrapping multiple backends to provide a consistent pubsub API.", "version": "0.6" }, "last_serial": 2890536, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "14c3cbb578a56b8b261d7dba01137a75", "sha256": "5be378ffd016f0b5df8eda10a1b24f1bbe10d523d6dc415f8b098ec5f4b2755e" }, "downloads": -1, "filename": "anypubsub-0.1.tar.gz", "has_sig": false, "md5_digest": "14c3cbb578a56b8b261d7dba01137a75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4529, "upload_time": "2013-09-15T17:14:29", "url": "https://files.pythonhosted.org/packages/08/45/b589bff9761f264a6a5321d38510db81809aa2b1cab5af2a1a848f22fc9c/anypubsub-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "4db51f15c551c2c6fd4aacc8622748a0", "sha256": "e1098adf8bb71cd98784c59300ee7d506b5a8d829c28f8dd1fde41f85df5e465" }, "downloads": -1, "filename": "anypubsub-0.2.tar.gz", "has_sig": false, "md5_digest": "4db51f15c551c2c6fd4aacc8622748a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5179, "upload_time": "2013-09-18T14:59:41", "url": "https://files.pythonhosted.org/packages/82/04/91b90029d4a3035a51d127958a01fe97c1271ce3b8fcc2f71d8eb7f5625b/anypubsub-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "d33ff949b84c78e4fe4d32ee45c370e0", "sha256": "421cdf1fc5b47797b14194e6bb4febd03203c0f27c1e8b42ef00e5fcbbc6a1d1" }, "downloads": -1, "filename": "anypubsub-0.3.tar.gz", "has_sig": false, "md5_digest": "d33ff949b84c78e4fe4d32ee45c370e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5793, "upload_time": "2014-07-10T23:33:00", "url": "https://files.pythonhosted.org/packages/20/d1/3f33735a593412cb1ac03a8469dddf5a0f9eb67ac8e73a9bed715dec6ec1/anypubsub-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "2950fd5b347adb4934c5d8c88dcd29d0", "sha256": "257c773d5b525ad1304f747058dcf04df47b73274bf4f5c0082af95787b5361c" }, "downloads": -1, "filename": "anypubsub-0.4.tar.gz", "has_sig": false, "md5_digest": "2950fd5b347adb4934c5d8c88dcd29d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6017, "upload_time": "2014-09-19T14:00:50", "url": "https://files.pythonhosted.org/packages/36/bd/59e5f6232ab8b341743d92f5285fce39e56821ca8b649a9d53b2938c7d52/anypubsub-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "7775472475e1ccc23a31aceeb7c0dc54", "sha256": "9f8b06853ffaf270c3a982043d02192e2203012a0b9f50a70dd0791cfbcaac0c" }, "downloads": -1, "filename": "anypubsub-0.5.tar.gz", "has_sig": false, "md5_digest": "7775472475e1ccc23a31aceeb7c0dc54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5954, "upload_time": "2015-05-19T23:28:53", "url": "https://files.pythonhosted.org/packages/e0/2d/49315f2766d62e32b7de7a437435e5916cbfa6a572841cdecb81ad09136e/anypubsub-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "d1692fe97b4df6059dbfc591e8f9d043", "sha256": "7f6e0ade707f1c7b40c08e25a7b0048cd3099e54b4d4a39d73429f000951ada4" }, "downloads": -1, "filename": "anypubsub-0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d1692fe97b4df6059dbfc591e8f9d043", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11730, "upload_time": "2017-05-22T12:09:35", "url": "https://files.pythonhosted.org/packages/99/ef/a33f2f2e417e861f0516a71f187118aa875eb97e262d23ccac722c2b0a7f/anypubsub-0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a86f1f5060b3c6e5ff884a5c0f2e286", "sha256": "57d48ba8932ae57ec91b386725a0acb23b208228eabd85c5409d8e7bb3c64412" }, "downloads": -1, "filename": "anypubsub-0.6.tar.gz", "has_sig": false, "md5_digest": "2a86f1f5060b3c6e5ff884a5c0f2e286", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6038, "upload_time": "2017-05-22T12:09:37", "url": "https://files.pythonhosted.org/packages/ec/c3/1c384b30ddfb551de1ca915bc3b5630e4bfe5aeb3838b36199edb95f2e2f/anypubsub-0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d1692fe97b4df6059dbfc591e8f9d043", "sha256": "7f6e0ade707f1c7b40c08e25a7b0048cd3099e54b4d4a39d73429f000951ada4" }, "downloads": -1, "filename": "anypubsub-0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d1692fe97b4df6059dbfc591e8f9d043", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11730, "upload_time": "2017-05-22T12:09:35", "url": "https://files.pythonhosted.org/packages/99/ef/a33f2f2e417e861f0516a71f187118aa875eb97e262d23ccac722c2b0a7f/anypubsub-0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a86f1f5060b3c6e5ff884a5c0f2e286", "sha256": "57d48ba8932ae57ec91b386725a0acb23b208228eabd85c5409d8e7bb3c64412" }, "downloads": -1, "filename": "anypubsub-0.6.tar.gz", "has_sig": false, "md5_digest": "2a86f1f5060b3c6e5ff884a5c0f2e286", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6038, "upload_time": "2017-05-22T12:09:37", "url": "https://files.pythonhosted.org/packages/ec/c3/1c384b30ddfb551de1ca915bc3b5630e4bfe5aeb3838b36199edb95f2e2f/anypubsub-0.6.tar.gz" } ] }