{ "info": { "author": "Samuel GIFFARD", "author_email": "mulugruntz@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Software Development :: Libraries", "Topic :: System :: Distributed Computing", "Topic :: Utilities" ], "description": "celery-pubsub 0.2.0\n===================\n\n.. image:: https://travis-ci.org/Mulugruntz/celery-pubsub.svg?branch=master\n :target: https://travis-ci.org/Mulugruntz/celery-pubsub\n\n.. image:: https://codeclimate.com/github/Mulugruntz/celery-pubsub/badges/gpa.svg\n :target: https://codeclimate.com/github/Mulugruntz/celery-pubsub\n :alt: Code Climate\n\n.. image:: https://codeclimate.com/github/Mulugruntz/celery-pubsub/badges/coverage.svg\n :target: https://codeclimate.com/github/Mulugruntz/celery-pubsub/coverage\n :alt: Test Coverage\n\n.. image:: https://codeclimate.com/github/Mulugruntz/celery-pubsub/badges/issue_count.svg\n :target: https://codeclimate.com/github/Mulugruntz/celery-pubsub\n :alt: Issue Count\n\n.. image:: https://pepy.tech/badge/celery-pubsub\n :target: https://pepy.tech/project/celery-pubsub\n :alt: Downloads\n\nPublish and Subscribe with Celery\n\nBasic usage:\n============\n\n.. code-block:: python\n\n import celery\n import celery_pubsub\n\n @celery.task\n def my_task_1(*args, **kwargs):\n return \"task 1 done\"\n\n\n @celery.task\n def my_task_2(*args, **kwargs):\n return \"task 2 done\"\n\n\n # First, let's subscribe\n celery_pubsub.subscribe('some.topic', my_task_1)\n celery_pubsub.subscribe('some.topic', my_task_2)\n\n # Now, let's publish something\n res = celery_pubsub.publish('some.topic', data='something', value=42)\n\n # We can get the results if we want to (and if the tasks returned something)\n # But in pub/sub, usually, there's no result.\n print(res.get())\n\n # This will get nowhere, as no task subscribed to this topic\n res = celery_pubsub.publish('nowhere', data='something else', value=23)\n\nAdvanced usage:\n===============\n\nWildcards can be used in topic names:\n\n* ``*`` matches any one group\n * ``some.*.test`` will match ``some.awesome.test``, ``some.random.test``\n but not ``some.pretty.cool.test``, ``elsewhere`` or ``here.some.up.test``\n * ``some.*`` will match ``some.test`` and ``some.thing`` but it won't\n match ``some`` or ``some.testy.test``\n\n* ``#`` matches any number of groups\n * ``some.#.test`` will match ``some.awesome.test``, ``some.random.test``,\n ``some.pretty.cool.test`` but not ``elsewhere`` or ``here.some.up.test``\n * ``some.#`` will match anything that starts with ``some.``, such as\n ``some.very.specific.topic.indeed``\n * ``#`` will match anything\n\n\n.. code-block:: python\n\n # Let's subscribe\n celery_pubsub.subscribe('some.*', my_task_1)\n celery_pubsub.subscribe('some.*.test', my_task_2)\n celery_pubsub.subscribe('some.#', my_task_3)\n celery_pubsub.subscribe('#', my_task_4)\n celery_pubsub.subscribe('some.beep', my_task_5)\n # it's okay to have more than one task on the same topic\n celery_pubsub.subscribe('some.beep', my_task_6)\n\n # Let's publish\n celery_pubsub.publish('nowhere', 4) # task 4 only\n celery_pubsub.publish('some', 8) # task 4 only\n celery_pubsub.publish('some.thing', 15) # tasks 1, 3 and 4\n celery_pubsub.publish('some.true.test', 16) # tasks 2, 3 and 4\n celery_pubsub.publish('some.beep', 23) # tasks 1, 3, 4, 5 and 6\n celery_pubsub.publish('some.very.good.test', 42) # tasks 3 and 4\n\n # And if you want to publish synchronously:\n celery_pubsub.publish_now('some.very.good.test', 42) # tasks 3 and 4\n\n # You can unsubscribe too\n celery_pubsub.unsubscribe('#', my_task_4)\n\n # Now, task 4 will not be called anymore\n celery_pubsub.publish('some.very.good.test', 42) # task 3 only\n\n\nChangelog:\n==========\n\n* 0.2.0\n * Removed Python 3.4 support. Reason: no longer supported by Kombu 4.6+.\n * Officially supported by Python 3.8.\n * Pinned requirements' dependency versions.\n * celery 4.2.1 -> 4.3.0\n * kombu 4.2.1 -> 4.6.4\n * billiard 3.5.0.4 -> 3.6.1.0\n * vine 1.1.4 -> 1.3.0\n* 0.1.9\n * Added Python 3.4, 3.5, 3.7, and multiple branches of pypy\n * Pinned requirements' dependency versions.\n * celery 4.1.0 -> 4.2.1\n * kombu 4.1.0 -> 4.2.1\n * billiard 3.5.0 -> 3.5.0.4\n * nose pinned to 1.3.7\n * coverage pinned to 4.3.4 (was already 4.3.4 but fuzzy)\n * codeclimate-test-reported pinned to 0.2.3\n * Extra badge to show the number of downloads (thanks to PePy)\n* 0.1.8\n * Fixup for broken ``pip install celery_pubsub==0.1.7``\n* 0.1.7\n * PyPI long description fixed\n * Removed README.md and fixed README.rst\n * Added command ``python setup.py test`` to run unit tests with coverage\n * pypy support\n* 0.1.5\n * Python 3 support\n* 0.1.1\n * Added README\n * Refined setup\n * No need to access celery_pubsub.pubsub anymore. Direct access in celery_pubsub.\n * Tests moved out of package\n * Added Travis for CI\n* 0.1\n * Initial version\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/Mulugruntz/celery-pubsub/tarball/0.2.0", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Mulugruntz/celery-pubsub", "keywords": "celery,publish,subscribe,pubsub", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "celery-pubsub", "package_url": "https://pypi.org/project/celery-pubsub/", "platform": "", "project_url": "https://pypi.org/project/celery-pubsub/", "project_urls": { "Download": "https://github.com/Mulugruntz/celery-pubsub/tarball/0.2.0", "Homepage": "https://github.com/Mulugruntz/celery-pubsub" }, "release_url": "https://pypi.org/project/celery-pubsub/0.2.0/", "requires_dist": [ "celery (==4.3.0)", "vine (==1.3.0)", "kombu (==4.6.4)", "billiard (==3.6.1.0)" ], "requires_python": "", "summary": "A Publish and Subscribe library for Celery", "version": "0.2.0" }, "last_serial": 5824589, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "5ffdede17f654bfa71ee37632ba47c2e", "sha256": "776d8cacb698ebd39dd73fc1f1105f4f66e4bb266e45e23a5215b747aeb6ece9" }, "downloads": -1, "filename": "celery_pubsub-0.1.tar.gz", "has_sig": false, "md5_digest": "5ffdede17f654bfa71ee37632ba47c2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1395, "upload_time": "2016-09-05T01:03:32", "url": "https://files.pythonhosted.org/packages/1c/70/69384eaf01f4a20c671077df5b5f171c18b1a7d82637661c3d1b08df4203/celery_pubsub-0.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "e0c5509d55e778978889aa4a43e0e1db", "sha256": "0dd281186961b952986658d2e06c47592708da3d43ce3a886b4cc778953b48d1" }, "downloads": -1, "filename": "celery-pubsub-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e0c5509d55e778978889aa4a43e0e1db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1592, "upload_time": "2016-09-06T17:03:12", "url": "https://files.pythonhosted.org/packages/12/e5/341a1d9072846bbefc31515466b31459cdd45fdde12fc36b990d201cd259/celery-pubsub-0.1.2.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "84b78df33be402734b4af72124cc896a", "sha256": "0c5a4a9dd5919178cc0916a5fa89d849dc429b7e60c23e2f1c573813df4166fa" }, "downloads": -1, "filename": "celery-pubsub-0.1.6.tar.gz", "has_sig": false, "md5_digest": "84b78df33be402734b4af72124cc896a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1602, "upload_time": "2017-08-24T17:11:00", "url": "https://files.pythonhosted.org/packages/22/54/89afa676c9cf0c9b973457ce6a48e3c830d6c768c122d0460f01cd6d5acd/celery-pubsub-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "08091abe0f665833508188c4d9ebc8c8", "sha256": "fe96e3a0fabde8651a14bab8d3cf93bc7d42ba6ceea88cfe755d676ee12b602f" }, "downloads": -1, "filename": "celery-pubsub-0.1.7.tar.gz", "has_sig": false, "md5_digest": "08091abe0f665833508188c4d9ebc8c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3790, "upload_time": "2017-10-31T20:03:47", "url": "https://files.pythonhosted.org/packages/55/f0/eb3353424f5d9799b1d680072de2e5a56c84516f36b83733954e81da66a2/celery-pubsub-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "d0ae06d99b55bde093d0482a45af1238", "sha256": "6467776ccbefb489bdc1524ced3f7161f5ac877870778f2bafbef12ac29799a0" }, "downloads": -1, "filename": "celery-pubsub-0.1.8.tar.gz", "has_sig": false, "md5_digest": "d0ae06d99b55bde093d0482a45af1238", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4777, "upload_time": "2017-11-02T12:45:16", "url": "https://files.pythonhosted.org/packages/c0/05/e858ea761240692d483365223ebdca3cb4e63f0e3e48acd0f9589608593a/celery-pubsub-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "d9558e39b77b8e44bfdfc2dd8365ab42", "sha256": "37f998fd6eb9972f3f7f10a11e28890c4b6ee88d75dcb5ff8c583637f8e3d845" }, "downloads": -1, "filename": "celery_pubsub-0.1.9-py2-none-any.whl", "has_sig": false, "md5_digest": "d9558e39b77b8e44bfdfc2dd8365ab42", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3865, "upload_time": "2018-09-25T12:42:51", "url": "https://files.pythonhosted.org/packages/81/6b/00251c2ea19f08069768cf2c629b8adfbfc87b26f7dd7b3758d05a89f10e/celery_pubsub-0.1.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d703745a92ae9830e0c5a7a0f6e7551", "sha256": "de7033d4505c6ff971fd946129f287954e339c0a3365f73a81edab357a08e034" }, "downloads": -1, "filename": "celery-pubsub-0.1.9.tar.gz", "has_sig": false, "md5_digest": "6d703745a92ae9830e0c5a7a0f6e7551", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5138, "upload_time": "2018-09-25T12:42:52", "url": "https://files.pythonhosted.org/packages/36/f3/469dcc1ee72610b2227b3a900ca1cea96c4b98dc5cc50a6296b3c420b61b/celery-pubsub-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4849d9aca822dab347d23cce689ed293", "sha256": "739974d3de447f8139b360dd52b36e2055dc4d0637f9adfaa6f6fbe31ae7c2b6" }, "downloads": -1, "filename": "celery_pubsub-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "4849d9aca822dab347d23cce689ed293", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4753, "upload_time": "2019-09-13T09:03:28", "url": "https://files.pythonhosted.org/packages/09/f3/e9b183b48a7a5dc41eb5c5423754b936d0d5f89c94ce4c059447d2ee02be/celery_pubsub-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ccaa288e376ca2710efb417b1cbd848", "sha256": "ffd346a49169e4648c6c8ff16c97df07652b47c0e6c50ba4cb6161c863c75485" }, "downloads": -1, "filename": "celery-pubsub-0.2.0.tar.gz", "has_sig": false, "md5_digest": "6ccaa288e376ca2710efb417b1cbd848", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5122, "upload_time": "2019-09-13T09:03:30", "url": "https://files.pythonhosted.org/packages/a8/83/54382c2eabc126d3d4f8c22b0201ee6618d2311f0a22071287638106b906/celery-pubsub-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4849d9aca822dab347d23cce689ed293", "sha256": "739974d3de447f8139b360dd52b36e2055dc4d0637f9adfaa6f6fbe31ae7c2b6" }, "downloads": -1, "filename": "celery_pubsub-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "4849d9aca822dab347d23cce689ed293", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4753, "upload_time": "2019-09-13T09:03:28", "url": "https://files.pythonhosted.org/packages/09/f3/e9b183b48a7a5dc41eb5c5423754b936d0d5f89c94ce4c059447d2ee02be/celery_pubsub-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ccaa288e376ca2710efb417b1cbd848", "sha256": "ffd346a49169e4648c6c8ff16c97df07652b47c0e6c50ba4cb6161c863c75485" }, "downloads": -1, "filename": "celery-pubsub-0.2.0.tar.gz", "has_sig": false, "md5_digest": "6ccaa288e376ca2710efb417b1cbd848", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5122, "upload_time": "2019-09-13T09:03:30", "url": "https://files.pythonhosted.org/packages/a8/83/54382c2eabc126d3d4f8c22b0201ee6618d2311f0a22071287638106b906/celery-pubsub-0.2.0.tar.gz" } ] }