Skip to main content

Branch

Build Status

Coverage

Documentation

master

master_build

master_coverage

master_docs

dev

dev_build

dev_coverage

dev_docs

Hermes

ZMQ-based framework for building simple Pub-Sub Systems, written in Python 3.

It offers thread-based wrappers for zmq’s SUB and PUB sockets, a pre-configured proxy device and a Node class to pull it all together.

Hermes allows you to quickly build a cluster of publishers which can support arbitrary numbers of subscribers via single address.

Since the project was birthed with a financial use-case in mind, it supplies some basic data structures (called Message) to transport data via hermes. These are optional, but are used by other parts of our system to efficiently process incoming data streams.

Design

There as several basic components that interact in a hermes-based system: On the processing layer, we have:

  • the Node object, which may consist of any number of Receiver and Publisher objects.

  • the Proxy object, which aggregates data streams from several Node objects and allows subscribers to subscribe to them from a single address.

On the transport layer, we have:

  • the Envelope object, which is just a wrapper data structure to send around messages with some meta data attached (time stamp of creation, origin, topic, etc)

  • the Message object, which is usually sent by assigning it to an Envelope (although the usage of a Message object is optional - Envelope takes any kind of serializable data).

Motivation

Hermes is the base for our Crypto trading system, and allows us to set up new node clusters in a convenient and maintainable way, without our contributors having to worry too much about the inner workings of ZMQ.

Usage

install via pip install hermes-zmq and import with import hermes.

Metadata

Release files for hermes-zmq 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hermes-zmq 1.3.0
File Size Uploaded Provenance Actions
hermes-zmq-1.3.0.tar.gz 8.9 kB Without provenance Details for hermes-zmq-1.3.0.tar.gz

Release files / hermes-zmq-1.3.0.tar.gz

Download URL hermes-zmq-1.3.0.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
97c43347aada818617ca5fa3ef8d5761a7cabeb6fb288762794a027ce9bf5feb
BLAKE2b-256 checksum
How to use checksums
fd86ce86a04575ad837b0ae95cb0c28de2ad163427847477ef41d96ccc57dbe9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for hermes-zmq 1.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page