{ "info": { "author": "Nils Diefenbach", "author_email": "23okrs20+github@mykolab.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Financial and Insurance Industry", "License :: Other/Proprietary License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3 :: Only", "Topic :: Office/Business :: Financial :: Investment" ], "description": "+---------+----------------+-------------------+----------------+\n|Branch | Build Status | Coverage | Documentation |\n+=========+================+===================+================+\n|`master` | |master_build| | |master_coverage| | |master_docs| |\n+---------+----------------+-------------------+----------------+\n|`dev` | |dev_build| | |dev_coverage| | |dev_docs| |\n+---------+----------------+-------------------+----------------+\n\n\n\nHermes\n======\nZMQ-based framework for building simple Pub-Sub Systems, written in Python 3.\n\nIt offers thread-based wrappers for zmq's SUB and PUB sockets, a pre-configured proxy device\nand a Node class to pull it all together.\n\nHermes allows you to quickly build a cluster of publishers which can support arbitrary numbers\nof subscribers via single address.\n\nSince 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.\n\n\n\nDesign\n======\n\nThere as several basic components that interact in a `hermes`-based system:\nOn the processing layer, we have:\n\n- the ``Node`` object, which may consist of any number of `Receiver` and `Publisher` objects.\n- the ``Proxy`` object, which aggregates data streams from several `Node` objects and allows subscribers to subscribe to them from a single address.\n\nOn the transport layer, we have: \n\n- 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)\n- 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).\n\n\n\nMotivation\n==========\nHermes is the base for our Crypto trading system, and allows us to set up new node clusters in a\nconvenient and maintainable way, without our contributors having to worry too much about the inner\nworkings of ZMQ.\n\n\n\nUsage\n=====\n\ninstall via ``pip install hermes-zmq`` and import with ``import hermes``.\n\n\n.. |master_build| image:: https://travis-ci.org/Crypto-toolbox/hermes.svg?branch=master\n :target: https://travis-ci.org/Crypto-toolbox/hermes\n\n.. |master_coverage| image:: https://coveralls.io/repos/github/Crypto-toolbox/hermes/badge.svg?branch=master\n :target: https://coveralls.io/github/Crypto-toolbox/hermes?branch=master\n\n.. |dev_build| image:: https://travis-ci.org/Crypto-toolbox/hermes.svg?branch=dev\n :target: https://travis-ci.org/Crypto-toolbox/hermes \n\n.. |dev_coverage| image:: https://coveralls.io/repos/github/Crypto-toolbox/hermes/badge.svg?branch=dev\n :target: https://coveralls.io/github/Crypto-toolbox/hermes?branch=dev\n\n\n.. |master_docs| image:: https://readthedocs.org/projects/hermes-framework/badge/?version=latest\n :target: http://hermes-framework.readthedocs.io/en/latest/?badge=latest\n\n.. |dev_docs| image:: https://readthedocs.org/projects/hermes-framework/badge/?version=dev\n :target: http://hermes-framework.readthedocs.io/en/dev/?badge=dev", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "zmq pubsub ipc distributed messaging", "license": "", "maintainer": "", "maintainer_email": "", "name": "hermes-zmq", "package_url": "https://pypi.org/project/hermes-zmq/", "platform": "", "project_url": "https://pypi.org/project/hermes-zmq/", "project_urls": null, "release_url": "https://pypi.org/project/hermes-zmq/1.3.0/", "requires_dist": null, "requires_python": ">=3.5", "summary": "ZMQ-based framework for building simple Pub-Sub Systems, written in Python 3.", "version": "1.3.0" }, "last_serial": 3548732, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "aa2553de00a22b80b3b8b6425bb75746", "sha256": "f9c5ef9393370405e07e1a0f319ab89f219c31bed0bdd2c200610f9c143062bd" }, "downloads": -1, "filename": "hermes-zmq-1.0.zip", "has_sig": false, "md5_digest": "aa2553de00a22b80b3b8b6425bb75746", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11265, "upload_time": "2017-11-17T08:50:32", "url": "https://files.pythonhosted.org/packages/94/e7/61aef28f81bb0c7495916fa965ace47d2626ec1021ad5835c668cf307c18/hermes-zmq-1.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "549710a1e1d766f0bc35a8f4ca1e38bc", "sha256": "019372f530995c38e13101731cb673eaf915501bc7e31d1abf7fcfef1017f2e5" }, "downloads": -1, "filename": "hermes-zmq-1.0.1.zip", "has_sig": false, "md5_digest": "549710a1e1d766f0bc35a8f4ca1e38bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12534, "upload_time": "2017-11-17T08:53:56", "url": "https://files.pythonhosted.org/packages/be/5b/3f4c153d4b52d1bbbbd55e12a798412270a85f5172cbcbcf0f8445f3773a/hermes-zmq-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "6400a305fbf65e2219002d772df94cfe", "sha256": "5689822ed581e6a2b3434fa9b1560d19dacedd494d78021c37b5b356a123275c" }, "downloads": -1, "filename": "hermes-zmq-1.0.2.zip", "has_sig": false, "md5_digest": "6400a305fbf65e2219002d772df94cfe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12544, "upload_time": "2017-11-17T08:56:14", "url": "https://files.pythonhosted.org/packages/ce/11/c37105a141525a9cf6b25a00d64f3a6b901dced99c732355776ceda6c0c8/hermes-zmq-1.0.2.zip" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "7496f86b16372f2d3ccf78c5a319a183", "sha256": "0f7ec6e90fabdc5e1b60c73c55ca29cfc1b9dd127af5ae13d68cfab4ec161cbd" }, "downloads": -1, "filename": "hermes-zmq-1.1.0.zip", "has_sig": false, "md5_digest": "7496f86b16372f2d3ccf78c5a319a183", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13393, "upload_time": "2017-11-30T19:08:44", "url": "https://files.pythonhosted.org/packages/a2/3a/e376a4c03d6f5c5f6ace9b23f088ba63aefb92145bd3d7f7404c691c584e/hermes-zmq-1.1.0.zip" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "1fa8def03bb275ab3b45bb661de5aa2c", "sha256": "7c58a2f059ac93ea058b4b714f77d15de31b2c8ba609f78db834640e91898289" }, "downloads": -1, "filename": "hermes-zmq-1.1.1.tar.gz", "has_sig": false, "md5_digest": "1fa8def03bb275ab3b45bb661de5aa2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7797, "upload_time": "2017-12-01T09:02:50", "url": "https://files.pythonhosted.org/packages/aa/c9/93b9a7659e6d72caf706a586c334e2510d5e1a3f1b29845cca9805b76eb4/hermes-zmq-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "d2ec36b1e6202ed8292795f387bad5fa", "sha256": "69eaf5926ed86428d15af0fd02fcaf328b52d25064f83c3aaf081b8920973ca1" }, "downloads": -1, "filename": "hermes-zmq-1.1.2.tar.gz", "has_sig": false, "md5_digest": "d2ec36b1e6202ed8292795f387bad5fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8041, "upload_time": "2017-12-01T10:36:11", "url": "https://files.pythonhosted.org/packages/c1/6d/2fb81b0db0c285df6b88392125fdf0cce95e9452251bdb82527bb77ca897/hermes-zmq-1.1.2.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "dc735948398bd4786dfb9e8a70f8d6e2", "sha256": "7a92fbad93cd537375568668247fd62bb5898c8d7b2bb0c9435c389b90a145a2" }, "downloads": -1, "filename": "hermes-zmq-1.2.0.zip", "has_sig": false, "md5_digest": "dc735948398bd4786dfb9e8a70f8d6e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16759, "upload_time": "2018-01-06T08:43:57", "url": "https://files.pythonhosted.org/packages/c6/34/a13f478e7ea8065efea926fbf88c5ac11dfa5bce7f2a218514b7341ef3a1/hermes-zmq-1.2.0.zip" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "1a7fe47bcf1e6f45ec0d510044a237c9", "sha256": "97c43347aada818617ca5fa3ef8d5761a7cabeb6fb288762794a027ce9bf5feb" }, "downloads": -1, "filename": "hermes-zmq-1.3.0.tar.gz", "has_sig": false, "md5_digest": "1a7fe47bcf1e6f45ec0d510044a237c9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 8923, "upload_time": "2018-02-03T16:22:45", "url": "https://files.pythonhosted.org/packages/fd/86/ce86a04575ad837b0ae95cb0c28de2ad163427847477ef41d96ccc57dbe9/hermes-zmq-1.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1a7fe47bcf1e6f45ec0d510044a237c9", "sha256": "97c43347aada818617ca5fa3ef8d5761a7cabeb6fb288762794a027ce9bf5feb" }, "downloads": -1, "filename": "hermes-zmq-1.3.0.tar.gz", "has_sig": false, "md5_digest": "1a7fe47bcf1e6f45ec0d510044a237c9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 8923, "upload_time": "2018-02-03T16:22:45", "url": "https://files.pythonhosted.org/packages/fd/86/ce86a04575ad837b0ae95cb0c28de2ad163427847477ef41d96ccc57dbe9/hermes-zmq-1.3.0.tar.gz" } ] }