{ "info": { "author": "R\u00e9mi Duraffort", "author_email": "ivoire@videolan.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Communications", "Topic :: Software Development :: Testing", "Topic :: System :: Distributed Computing", "Topic :: System :: Networking" ], "description": "|Build Status| |Coverage Status| |Code Health|\n\nReactOBus\n=========\n\nReactOBus is a message broker that helps to create software bus over the\nnetwork and to react to some messages.\n\nFeatures\n========\n\nReactOBus is able to:\n\n- collect events (as network messages) from different sources\n- publish the stream of events\n- store the events in a database\n- launch specific commands when an event match some conditions\n\nIn a near future, ReactOBus will be able to:\n\n- filter-out some events\n- modify on-the-fly event format\n- ...\n\nUsing ReactOBus\n===============\n\nRequirements\n------------\n\nReactOBus is known to work with Python3.4 and Python3.5 under Linux.\n\nIt depends on (see **requirements.txt**):\n\n- pyzmq\n- pyYAML\n- SQLAlchemy (if you wish to store events in a database)\n- setproctitle\n\nInstalling\n----------\n\nReactOBus is available on\n`pypi `__ and can be installed\nwith:\n\n::\n\n pip install ReactOBus\n\nBy default, **pip** will not install SQLAlchemy. If need, install it\nmanually afterward or ask pip to include the right ReactOBus variant\nwith:\n\n::\n\n pip install ReactOBus[db]\n\nIt's also possible to execute ReactOBus directly from the sources:\n\n::\n\n git clone https://github.com/ivoire/ReactOBus.git\n cd ReactOBus\n virtualenv -p python3.5 venv\n source venv/bin/activate\n pip install -r requirements.txt\n python reactobus --level DEBUG --conf share/examples/reactobus.yaml\n\nConfiguration\n-------------\n\nThe configuration file is a YAML dictionary with:\n\n- *inputs*: a list of input streams\n- *outputs*: a list of output streams\n- *core*: configuration of the internal sockets\n- *reactor*: the reacting part of ReactOBus\n- *db*: the database configuration\n\nAll keys except *core* and *inputs* are optional. If the optional keys\nare not found in the configuration, the corresponding modules won't be\nloaded.\n\nMessage format\n--------------\n\nFor the moment, ReactOBus only accepts one type of messages. The\nmessages should be multipart ZMQ messages with the following meaning:\n\n- **topic**\n- **uuid** (as generated by uuid.uuid1() in Python)\n- **datetime** when the message was generated (isoformat)\n- **username** of the sending process or user\n- **data** as JSON\n\nTesting ReactOBus\n=================\n\nIn order to run ReactOBus automatic tests, you will have to install\n*py.test*:\n\n::\n\n pip install pytest\n\nThen run the tests using:\n\n::\n\n py.test tests -v\n [...]\n tests/test_core.py::test_core PASSED\n tests/test_db.py::test_run PASSED\n tests/test_db.py::test_errors PASSED\n [...]\n\nOn each push, the tests and the coverage are computed on:\n\n- `Test results `__\n- `Coverage report `__\n- `Static analysis `__\n\n.. |Build Status| image:: https://travis-ci.org/ivoire/ReactOBus.svg?branch=master\n :target: https://travis-ci.org/ivoire/ReactOBus\n.. |Coverage Status| image:: https://coveralls.io/repos/github/ivoire/ReactOBus/badge.svg?branch=master\n :target: https://coveralls.io/github/ivoire/ReactOBus?branch=master\n.. |Code Health| image:: https://landscape.io/github/ivoire/ReactOBus/master/landscape.svg?style=flat\n :target: https://landscape.io/github/ivoire/ReactOBus/master", "description_content_type": null, "docs_url": "https://pythonhosted.org/ReactOBus/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ivoire/ReactOBus", "keywords": null, "license": "AGPLv3+", "maintainer": null, "maintainer_email": null, "name": "ReactOBus", "package_url": "https://pypi.org/project/ReactOBus/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ReactOBus/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/ivoire/ReactOBus" }, "release_url": "https://pypi.org/project/ReactOBus/0.2/", "requires_dist": null, "requires_python": null, "summary": "A message broker to create software bus over the network", "version": "0.2" }, "last_serial": 2482783, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "560117c891c72898ce52ead44b51c19a", "sha256": "83e5776081a54eca6d290d31d6ea6dcafb516ac20b9be1230aaa4e18b7a59c9d" }, "downloads": -1, "filename": "ReactOBus-0.1.tar.gz", "has_sig": false, "md5_digest": "560117c891c72898ce52ead44b51c19a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6456, "upload_time": "2016-11-16T15:09:17", "url": "https://files.pythonhosted.org/packages/2d/eb/82ecab8d157885e802bacd757ceeaa238aa096d2821ad77dd2a14b6f3e42/ReactOBus-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "21d449fe8adba63118acb19e5d237bfb", "sha256": "e5aede9bb154e784fa32257c408c627f3e4965a66563027f49209f43e95730d8" }, "downloads": -1, "filename": "ReactOBus-0.2.tar.gz", "has_sig": false, "md5_digest": "21d449fe8adba63118acb19e5d237bfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23349, "upload_time": "2016-11-25T15:39:37", "url": "https://files.pythonhosted.org/packages/3b/bf/997f5d63501452fff39223a8d62a9c55cb2194657073ae7c6654917b6dda/ReactOBus-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "21d449fe8adba63118acb19e5d237bfb", "sha256": "e5aede9bb154e784fa32257c408c627f3e4965a66563027f49209f43e95730d8" }, "downloads": -1, "filename": "ReactOBus-0.2.tar.gz", "has_sig": false, "md5_digest": "21d449fe8adba63118acb19e5d237bfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23349, "upload_time": "2016-11-25T15:39:37", "url": "https://files.pythonhosted.org/packages/3b/bf/997f5d63501452fff39223a8d62a9c55cb2194657073ae7c6654917b6dda/ReactOBus-0.2.tar.gz" } ] }