The Python interface to the Hermes message broker.
Project description
pyhermes
The Python interface to the Hermes message broker.
Documentation
The full documentation is at https://pyhermes.readthedocs.org.
Installation
To install pyhermes, simply:
pip install pyhermes
Then use it in a project:
import pyhermes
Features
- TODO
Quickstart
Subscriber
To create handler for particular subscription topic decorate your function using subscribe
decorator:
import pyhermes
@pyhermes.subscriber(topic='pl.allegro.pyhermes.sample-topic')
def handler(data):
# process data
This function will be called every time there is new message published to the selected topic.
Publisher
Use publish
function to publish data to some topic in hermes:
import pyhermes
@pyhermes.publisher(topic='pl.allegro.pyhermes.sample-topic')
def my_complex_function(a, b, c):
result = a + b + c
publish(my_complex_function._topic, {'complex_result': result})
You could publish directly result of the function as well:
import pyhermes
@pyhermes.publisher(topic='pl.allegro.pyhermes.sample-topic', auto_publish_result=True)
def my_complex_function(a, b, c):
return {'complex_result': a + b + c}
Result of decorated function is automatically published to selected topic in hermes.
Running Tests
Does the code actually work?
source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install -r requirements/test.txt
(myenv) $ python runtests.py
Credits
Tools used in rendering this package:
History
0.6.0 (2023-13-02)
- Compatibility with Django 4.1
0.5.0 (2022-09-02)
- Rename django app label from
pyhermes.django
topyhermes_django
- Compatibility with Django 3.2
0.3.0 (2016-12-29)
- Retry publishing to hermes in case of failure (default: 3x)
- Support for Python3.6, Django 1.10 and Django development version in tests
0.2.1 (2016-12-12)
- Configure custom label for django app #11
0.2.0 (2016-11-03)
- Fix ambiguity with pyhermes.decorators.subscriber (rename subscriber module to subscription)
0.1.3 (2016-06-21)
- Allow for custom wrapper around subcriber function
- Additional logging for event id and retry count
- Added support for Django <= 1.7
- Raw data is dumped only to debug logs.
0.1.2 (2016-04-20)
- New management command for testing Hermes connection
0.1.0 (2016-04-13)
- First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyhermes-0.6.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65a0a5b7804926f6306448162e7abbcc96615654bb1df620055ec5bfb273d59d |
|
MD5 | f0446823a41c39a87caecaea371e856f |
|
BLAKE2b-256 | 0442df4211879b4c3724f0d99cf21add642195342cd166dbbb0fcd691c604aed |