{ "info": { "author": "Allegrogroup", "author_email": "pylabs@allegro.pl", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Django", "Framework :: Django :: 1.7", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "## pyhermes\n\n[![Version Badge](https://badge.fury.io/py/pyhermes.png)](https://badge.fury.io/py/pyhermes.png)\n[![Build Status](https://travis-ci.org/allegro/pyhermes.png?branch=master)](https://travis-ci.org/allegro/pyhermes)\n\nThe Python interface to the [Hermes](http://hermes.allegro.tech) message broker.\n\n## Documentation\n\nThe full documentation is at https://pyhermes.readthedocs.org.\n\n## Installation\n\nTo install pyhermes, simply:\n\n```python\npip install pyhermes\n```\n\nThen use it in a project:\n\n```python\nimport pyhermes\n```\n\n## Features\n\n* TODO\n\n## Quickstart\n\n### Subscriber\n\nTo create handler for particular subscription topic decorate your function using `subscribe` decorator:\n\n```python\nimport pyhermes\n\n@pyhermes.subscriber(topic='pl.allegro.pyhermes.sample-topic')\ndef handler(data):\n # process data\n```\n\nThis function will be called every time there is new message published to the selected topic.\n\n### Publisher\nUse `publish` function to publish data to some topic in hermes:\n\n```python\nimport pyhermes\n\n@pyhermes.publisher(topic='pl.allegro.pyhermes.sample-topic')\ndef my_complex_function(a, b, c):\n result = a + b + c\n publish(my_complex_function._topic, {'complex_result': result})\n```\n\nYou could publish directly result of the function as well:\n\n```python\nimport pyhermes\n\n@pyhermes.publisher(topic='pl.allegro.pyhermes.sample-topic', auto_publish_result=True)\ndef my_complex_function(a, b, c):\n return {'complex_result': a + b + c}\n```\n\nResult of decorated function is automatically published to selected topic in hermes.\n\n## Running Tests\n\nDoes the code actually work?\n\n```python\nsource /bin/activate\n(myenv) $ pip install -r requirements/test.txt\n(myenv) $ python runtests.py\n```\n\n## Credits\n\nTools used in rendering this package:\n\n* [Cookiecutter](https://github.com/audreyr/cookiecutter)\n* [cookiecutter-djangopackage](https://github.com/pydanny/cookiecutter-djangopackage)\n\n\n\n# History\n\n## 0.3.0 (2016-12-29)\n\n* Retry publishing to hermes in case of failure (default: 3x)\n* Support for Python3.6, Django 1.10 and Django development version in tests\n\n\n## 0.2.1 (2016-12-12)\n\n* Configure custom label for django app #11\n\n\n## 0.2.0 (2016-11-03)\n\n* Fix ambiguity with pyhermes.decorators.subscriber (rename subscriber module to subscription)\n\n\n## 0.1.3 (2016-06-21)\n\n* Allow for custom wrapper around subcriber function\n* Additional logging for event id and retry count\n* Added support for Django <= 1.7\n* Raw data is dumped only to debug logs.\n\n\n## 0.1.2 (2016-04-20)\n\n* New management command for testing Hermes connection\n\n\n## 0.1.0 (2016-04-13)\n\n* First release on PyPI.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/allegro/pyhermes", "keywords": "pyhermes", "license": "Apache Software License", "maintainer": "", "maintainer_email": "", "name": "pyhermes", "package_url": "https://pypi.org/project/pyhermes/", "platform": "", "project_url": "https://pypi.org/project/pyhermes/", "project_urls": { "Homepage": "https://github.com/allegro/pyhermes" }, "release_url": "https://pypi.org/project/pyhermes/0.4.2/", "requires_dist": null, "requires_python": "", "summary": "The Python interface to the Hermes message broker.", "version": "0.4.2" }, "last_serial": 4057610, "releases": { "0.1.0": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3b3559222522a255cf6fd4193b024772", "sha256": "4b7c63da8e9d2facfb27b07997dc0ea113281f900f6309432053a99310c15091" }, "downloads": -1, "filename": "pyhermes-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3b3559222522a255cf6fd4193b024772", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10342, "upload_time": "2016-04-19T13:36:23", "url": "https://files.pythonhosted.org/packages/6c/af/bbe07efdae3242e721b1f334923aefae6744f3cf2d159cb4179bebe0d594/pyhermes-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a49a8653ef3de3fc614aad672f21b576", "sha256": "9f053e4bd55673a8a3a5c1894beb7288f47057512ab42962ac24cae4b67198d8" }, "downloads": -1, "filename": "pyhermes-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a49a8653ef3de3fc614aad672f21b576", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8227, "upload_time": "2016-04-19T13:36:17", "url": "https://files.pythonhosted.org/packages/c7/5e/6a844870c35b32500e85161915c85e1be989eae856d39f639e862f1e9178/pyhermes-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "5faae9670e8ddf91bdf19b6173ed9a99", "sha256": "6c67fa398a66f62e3223ef57ae544ce2b498dfb5d85f2fd47c5e6df47ad55fbd" }, "downloads": -1, "filename": "pyhermes-0.1.2.tar.gz", "has_sig": false, "md5_digest": "5faae9670e8ddf91bdf19b6173ed9a99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9691, "upload_time": "2016-04-20T11:20:04", "url": "https://files.pythonhosted.org/packages/36/47/0e698686a7fe0590e94d4834935c75a7b8743802f7ac9349001330231995/pyhermes-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "a314641cdd7264620c1a401c10749ca0", "sha256": "e49c40a0cc102bbae498d66fac5413a48a9fc2c8ae9fe37b3f7deac5a138c4d4" }, "downloads": -1, "filename": "pyhermes-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a314641cdd7264620c1a401c10749ca0", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 12173, "upload_time": "2016-06-21T13:18:19", "url": "https://files.pythonhosted.org/packages/93/3c/dfbde5ec95c412c2db883b5f329dfcfd69653bf5cbc2a61bb61c88299040/pyhermes-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6cc31559afe9b460f722499b2882b84", "sha256": "40556586079108a8dca79b693d355b62ff455077ba5ba0e35f1d545902438639" }, "downloads": -1, "filename": "pyhermes-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c6cc31559afe9b460f722499b2882b84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10095, "upload_time": "2016-06-21T13:18:14", "url": "https://files.pythonhosted.org/packages/fd/81/357aa094b44fd8ac3fc2e331d09e48ec0a1ba01cc8d6f048e08ecfedd5c8/pyhermes-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "daa71f15f78bfa24c5fab014bdece726", "sha256": "5f1a42cee19117b9c18bcbf6e73a0123de0c30d8628afb9e44d111c19f05643c" }, "downloads": -1, "filename": "pyhermes-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "daa71f15f78bfa24c5fab014bdece726", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 13338, "upload_time": "2016-11-03T12:13:25", "url": "https://files.pythonhosted.org/packages/d1/c0/2ee3d2afb64cfac060365fd60793f1ae3cc4407bf0b4649b4600d09fe043/pyhermes-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "93d9bef041b7c98fd8e13cbff8127c01", "sha256": "e609f567d69783a2153e94237aa9e73b26cf1c93fe14cc6ad5705c0a03de1df2" }, "downloads": -1, "filename": "pyhermes-0.2.0.tar.gz", "has_sig": false, "md5_digest": "93d9bef041b7c98fd8e13cbff8127c01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10948, "upload_time": "2016-11-03T12:13:21", "url": "https://files.pythonhosted.org/packages/31/f6/ba73575f8990079ce67b3775c02d920dd4bf6eabc28e5fc256238be7aca8/pyhermes-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "55201d5a16103de0a5b05c37a7b91d56", "sha256": "ce7d3ab98242f1dd052ae9818bf540eecdf8c7094e6a7749a94f0ba5ff2e7a3d" }, "downloads": -1, "filename": "pyhermes-0.2.1.tar.gz", "has_sig": false, "md5_digest": "55201d5a16103de0a5b05c37a7b91d56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10548, "upload_time": "2016-12-12T10:39:09", "url": "https://files.pythonhosted.org/packages/37/9e/4d461222e0f21ee05b76ff2483d43914eee9e2080f9081d0f61ba5253767/pyhermes-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "cd0ba722429997c0eaf81fcfd4667c58", "sha256": "d4d73623209ace8e7181e4936bbb3f87c96ff2e07c7d7cb7133455f05dc9bbe2" }, "downloads": -1, "filename": "pyhermes-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cd0ba722429997c0eaf81fcfd4667c58", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 13382, "upload_time": "2016-12-29T12:24:30", "url": "https://files.pythonhosted.org/packages/98/bc/207959fb8485d100dd3788fa632b10e689ba855a714548724a60474329fa/pyhermes-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd8463a03ed767ba88f6c59ff11faf2a", "sha256": "29d93f52bff9fee62f3a884061eb94b9bbbb94eea3c7c4f527dfe1268c981f13" }, "downloads": -1, "filename": "pyhermes-0.3.0.tar.gz", "has_sig": false, "md5_digest": "bd8463a03ed767ba88f6c59ff11faf2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11075, "upload_time": "2016-12-29T12:24:27", "url": "https://files.pythonhosted.org/packages/bf/f4/c59a169d81ded52ec30fb9a222b611d0293fd21834af851cec1796c636c2/pyhermes-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "217578b83317a723766ba9bf2707faef", "sha256": "05520ec2f59c18334cce5e47ff69bfdb60e7e4b28c0d6c40547c419c1521b62f" }, "downloads": -1, "filename": "pyhermes-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "217578b83317a723766ba9bf2707faef", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 13390, "upload_time": "2017-01-27T09:25:09", "url": "https://files.pythonhosted.org/packages/ec/9e/99ba9cac4a5009464a7ba46a86713961d80dc63bff8dab3aab544557edb8/pyhermes-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "71a3057734ee1a478a0d800fcd3627d4", "sha256": "2836711946e10d87d9f6afa57fb443ab888686ccbe5261852f74da70fd0e0276" }, "downloads": -1, "filename": "pyhermes-0.3.1.tar.gz", "has_sig": false, "md5_digest": "71a3057734ee1a478a0d800fcd3627d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11086, "upload_time": "2017-01-27T09:25:06", "url": "https://files.pythonhosted.org/packages/3b/c0/c4950c254addc87566025aaf2c9d5c4bfc7a6b4a6a760676715fc139dbf5/pyhermes-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "fb9b86debcb3fab774afbd548edf7f3c", "sha256": "347cc28513b535d38a1ec17d743cf07329b634cbabfeddc42115d237c0964de9" }, "downloads": -1, "filename": "pyhermes-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fb9b86debcb3fab774afbd548edf7f3c", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13414, "upload_time": "2018-06-27T08:39:35", "url": "https://files.pythonhosted.org/packages/0e/31/102d44863e1818ea7acee345a96336c57130175765bbfdfd70ed14e1ffdb/pyhermes-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8678f6fc8e4bee8cfeea84765dd4b1ad", "sha256": "2b130a350c81848092d40ca1fb0b318a758b44beaa6048e919b087f9e27b8f1a" }, "downloads": -1, "filename": "pyhermes-0.4.0.tar.gz", "has_sig": false, "md5_digest": "8678f6fc8e4bee8cfeea84765dd4b1ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11670, "upload_time": "2018-06-27T08:39:32", "url": "https://files.pythonhosted.org/packages/da/89/8dd6f51728108246351daea321b39a27c6ca1f9886b73bf66a88540fb615/pyhermes-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "b66692162a010eb20eb5f14fa76b5081", "sha256": "d3fa959a8a23e7768f1dde35a7de669caacd411331677998154ceb3942b52984" }, "downloads": -1, "filename": "pyhermes-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b66692162a010eb20eb5f14fa76b5081", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13493, "upload_time": "2018-07-12T09:20:58", "url": "https://files.pythonhosted.org/packages/44/f0/20de385bb6bda07b400a95fc4655c8e00796a15db8434fd81ff2e28aa83d/pyhermes-0.4.1-py2.py3-none-any.whl" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "74d2f09b8d1e4fd250e93ed56e41bae5", "sha256": "a4dd4c3ac263679d9c08dec8132e0b57526b28460bd5ba5fffe203da87580958" }, "downloads": -1, "filename": "pyhermes-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "74d2f09b8d1e4fd250e93ed56e41bae5", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13493, "upload_time": "2018-07-13T12:09:51", "url": "https://files.pythonhosted.org/packages/81/34/2194481618bc1510bdaa9d6150601eaf45a92b832d55f6fd459d1b3b38a8/pyhermes-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e6981e9559e2cdf486c071dd4e5f95dc", "sha256": "2c28539409465a6fdf9dec68b63f3d18ad7b6a2718fbab5b97854dcf4a6ab63e" }, "downloads": -1, "filename": "pyhermes-0.4.2.tar.gz", "has_sig": false, "md5_digest": "e6981e9559e2cdf486c071dd4e5f95dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11706, "upload_time": "2018-07-13T12:09:36", "url": "https://files.pythonhosted.org/packages/17/14/138211df56b88d57b736ea22ec5da8b2c35ab4251f611e5fc4111c97a0ab/pyhermes-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "74d2f09b8d1e4fd250e93ed56e41bae5", "sha256": "a4dd4c3ac263679d9c08dec8132e0b57526b28460bd5ba5fffe203da87580958" }, "downloads": -1, "filename": "pyhermes-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "74d2f09b8d1e4fd250e93ed56e41bae5", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13493, "upload_time": "2018-07-13T12:09:51", "url": "https://files.pythonhosted.org/packages/81/34/2194481618bc1510bdaa9d6150601eaf45a92b832d55f6fd459d1b3b38a8/pyhermes-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e6981e9559e2cdf486c071dd4e5f95dc", "sha256": "2c28539409465a6fdf9dec68b63f3d18ad7b6a2718fbab5b97854dcf4a6ab63e" }, "downloads": -1, "filename": "pyhermes-0.4.2.tar.gz", "has_sig": false, "md5_digest": "e6981e9559e2cdf486c071dd4e5f95dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11706, "upload_time": "2018-07-13T12:09:36", "url": "https://files.pythonhosted.org/packages/17/14/138211df56b88d57b736ea22ec5da8b2c35ab4251f611e5fc4111c97a0ab/pyhermes-0.4.2.tar.gz" } ] }