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
File details
Details for the file pyhermes-0.6.0.tar.gz
.
File metadata
- Download URL: pyhermes-0.6.0.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfec53427e270196168b1efc7250520657a767c5c3c609742ad7ec494bafa01d |
|
MD5 | 06f3d43360bf9ebe5275f0257b3ea964 |
|
BLAKE2b-256 | 3760ed9698593a1e4a752f7109d31ffb5b5c5b457de8398a9beb96ad5a87e22d |
File details
Details for the file pyhermes-0.6.0-py2.py3-none-any.whl
.
File metadata
- Download URL: pyhermes-0.6.0-py2.py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65a0a5b7804926f6306448162e7abbcc96615654bb1df620055ec5bfb273d59d |
|
MD5 | f0446823a41c39a87caecaea371e856f |
|
BLAKE2b-256 | 0442df4211879b4c3724f0d99cf21add642195342cd166dbbb0fcd691c604aed |