{ "info": { "author": "Bakhtiyor Ruziev", "author_email": "bakhtiyor.ruziev@yandex.ru", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "AioPubSub\n=========\n\n.. image:: https://travis-ci.com/theruziev/aio_pubsub.svg?branch=master\n :target: https://travis-ci.com/theruziev/aio_pubsub\n\n.. image:: https://codecov.io/gh/theruziev/aio_pubsub/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/theruziev/aio_pubsub/branch/master\n\n\nA generic interface wrapping multiple backends to provide a consistent pubsub API.\n\nInstallation\n------------\n\n.. code-block:: bash\n\n pip install aio-pubsub\n\nUsage\n------\nTo use it, you need to implement your pubsub implementation from interfaces or use backends\nfrom ``aio_pubsub.backends`` package\n\n.. code-block:: python\n\n from aio_pubsub.backends.memory import MemoryPubSub\n pubsub = MemoryPubSub()\n # Create subscriber\n subscriber = await pubsub.subscribe(\"a_chan\")\n\n # Push message\n await pubsub.publish(\"a_chan\", \"hello world!\")\n await pubsub.publish(\"a_chan\", \"hello universe!\")\n\n # And listening channel\n try:\n async for message in subscriber:\n print(message, flush=True)\n except KeyboardInterrupt:\n print(\"Finish listening\")\n\n\n\n\nSupported backends\n---------------------\n\n``Disclaimer``: I would not advise you to use this backend, because it is shown only for testing purposes.\nBetter develop your own implementation.\n\n* memory\n* redis\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/bruziev/async_pubsub", "keywords": "pubsub pub/sub mongodb", "license": "", "maintainer": "", "maintainer_email": "", "name": "aio-pubsub", "package_url": "https://pypi.org/project/aio-pubsub/", "platform": "", "project_url": "https://pypi.org/project/aio-pubsub/", "project_urls": { "Homepage": "http://github.com/bruziev/async_pubsub" }, "release_url": "https://pypi.org/project/aio-pubsub/0.2.0/", "requires_dist": [ "aioredis (>=1.2.0); extra == 'aioredis'" ], "requires_python": "", "summary": "A generic interface wrapping multiple backends to provide a consistent pubsub API.", "version": "0.2.0" }, "last_serial": 5872826, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0f550cccae0398edb6be67c386f9de48", "sha256": "c1ca45e5e6e6f7d543885d46c30edc4dba66eb7ad07cd3147ea78f4b270ac6d8" }, "downloads": -1, "filename": "aio_pubsub-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0f550cccae0398edb6be67c386f9de48", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5826, "upload_time": "2018-12-15T22:31:08", "url": "https://files.pythonhosted.org/packages/d0/38/95b26b0e29092d21f5d520f5656396aac21961caad86028db0c59b5037d2/aio_pubsub-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a68976c1f56d33a2531b0fa96b736a6", "sha256": "83b08935be3730b16821c69791a42230df7df3bc9f90af521c60aa3449176c7a" }, "downloads": -1, "filename": "aio_pubsub-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3a68976c1f56d33a2531b0fa96b736a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3713, "upload_time": "2018-12-15T22:31:10", "url": "https://files.pythonhosted.org/packages/d1/1d/8cb948b521831227af17254c61ed30a32c893cee0f4f8ff3c2878b76c05f/aio_pubsub-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9c3f525b1d0ea6b3eb8607132406b0bd", "sha256": "dc37841f0f8e47e552d150a0d5bf2dd79767bbd1ec904fb6d578fb3a325a6210" }, "downloads": -1, "filename": "aio_pubsub-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c3f525b1d0ea6b3eb8607132406b0bd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4752, "upload_time": "2019-09-23T10:42:13", "url": "https://files.pythonhosted.org/packages/c7/1e/e5d3a08a65e23a5c6fafb12ab7787494f38e2085fdc67b74802c7e0ff35f/aio_pubsub-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "235a1b61d9aa46ce2df832b4c782c549", "sha256": "4beeaf3916e4dfea2a4df79f352e971562c07fe2b0c8863c353615fc54fa6798" }, "downloads": -1, "filename": "aio_pubsub-0.2.0.tar.gz", "has_sig": false, "md5_digest": "235a1b61d9aa46ce2df832b4c782c549", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3088, "upload_time": "2019-09-23T10:42:15", "url": "https://files.pythonhosted.org/packages/04/ed/6eb2934acf3662e4b060746b970a20fca641321c42e685d6427a6777a39b/aio_pubsub-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9c3f525b1d0ea6b3eb8607132406b0bd", "sha256": "dc37841f0f8e47e552d150a0d5bf2dd79767bbd1ec904fb6d578fb3a325a6210" }, "downloads": -1, "filename": "aio_pubsub-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c3f525b1d0ea6b3eb8607132406b0bd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4752, "upload_time": "2019-09-23T10:42:13", "url": "https://files.pythonhosted.org/packages/c7/1e/e5d3a08a65e23a5c6fafb12ab7787494f38e2085fdc67b74802c7e0ff35f/aio_pubsub-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "235a1b61d9aa46ce2df832b4c782c549", "sha256": "4beeaf3916e4dfea2a4df79f352e971562c07fe2b0c8863c353615fc54fa6798" }, "downloads": -1, "filename": "aio_pubsub-0.2.0.tar.gz", "has_sig": false, "md5_digest": "235a1b61d9aa46ce2df832b4c782c549", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3088, "upload_time": "2019-09-23T10:42:15", "url": "https://files.pythonhosted.org/packages/04/ed/6eb2934acf3662e4b060746b970a20fca641321c42e685d6427a6777a39b/aio_pubsub-0.2.0.tar.gz" } ] }