Skip to main content

The Python interface to the Hermes message broker.

Project description

pyhermes

Version Badge Build Status

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 to pyhermes_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyhermes-0.6.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

pyhermes-0.6.0-py2.py3-none-any.whl (14.5 kB view details)

Uploaded Python 2 Python 3

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

Hashes for pyhermes-0.6.0.tar.gz
Algorithm Hash digest
SHA256 dfec53427e270196168b1efc7250520657a767c5c3c609742ad7ec494bafa01d
MD5 06f3d43360bf9ebe5275f0257b3ea964
BLAKE2b-256 3760ed9698593a1e4a752f7109d31ffb5b5c5b457de8398a9beb96ad5a87e22d

See more details on using hashes here.

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

Hashes for pyhermes-0.6.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 65a0a5b7804926f6306448162e7abbcc96615654bb1df620055ec5bfb273d59d
MD5 f0446823a41c39a87caecaea371e856f
BLAKE2b-256 0442df4211879b4c3724f0d99cf21add642195342cd166dbbb0fcd691c604aed

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page