{ "info": { "author": "E2c Authors", "author_email": "stefan.bergmann@enterstry.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries" ], "description": "
\n

\n
\n
\n\n| **`Documentation`** | **`Master`** | **`Develop`** | **`Tests`** |\n|---------------------|--------------|---------------|-------------|\n| [![docs](https://readthedocs.org/projects/e2c/badge/?version=latest)](http://e2c.readthedocs.io/en/latest) | [![pipeline status](https://gitlab.com/elastic-event-components/e2c/badges/master/pipeline.svg)](https://gitlab.com/elastic-event-components/e2c/master/develop) | [![pipeline status](https://gitlab.com/elastic-event-components/e2c/badges/develop/pipeline.svg)](https://gitlab.com/elastic-event-components/e2c/commits/develop) | [![coverage report](https://gitlab.com/elastic-event-components/e2c/badges/develop/coverage.svg)](https://gitlab.com/elastic-event-components/e2c/commits/develop) |\n\n
\n\n# E2C.py - Elastic Event Components for Python\n\n**Elastic Event Components** is an open source software library to build flexible architectures using\ndataflow graphs. A graph node represents any operation, while the graph edges represent the data\nof the operation. Each parameter can be bound to any number of operations and thus brought \ninto a flow. Elastic Event Components also includes flow visualization.\n
\n
\nThrough E2C, processes and software architectures can be visualized by dataflow graphs, \nwhich can be converted into executable applications. **Functional dependencies can be defused** \nby E2C and thus significantly increase the changeability and quality of \ncomponents and software projects.\n\n## Installation\n*See [Installing E2C](https://gitlab.com/elastic-event-components/e2c/raw/master/INSTALL.md) for instructions\non how to build from source.*\n\n#### *Try your first E2C program*\n\n```shell\n$ python\n```\n\n```python\n>>> import e2c\n\n>>> config = (\n... '.run -- action',\n... 'action.render -- render',\n... ' render.out -- .out',\n... 'action.log -- log',\n... ' log.store -- .out')\n\n>>> def action(data: str, render, log):\n... render(data)\n... log('Render done!')\n\n>>> graph = e2c.Graph[str, str](config)\n>>> graph.actor('action', action)\n>>> graph.actor('render', lambda dat, out: out(dat))\n>>> graph.actor('log', lambda dat, store: store(dat))\n\n>>> graph.visualize()\n>>> graph.run_continues('Hello, E2C', print)\n\nHello, E2C\nRender done!\n```\n\n
\n

\n
\n\n## For more information\nRead the [lectures](https://gitlab.com/elastic-event-components/e2c-lectures)\nto learn more about E2c or visit the [E2C website](http://e2c.readthedocs.io/en/latest/)\n\n## License\n[Apache 2.0 License](https://gitlab.com/elastic-event-components/e2c/blob/master/LICENSE)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://e2c.readthedocs.io", "keywords": "architecture dataflow dotnet e2c flow graph python", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "e2c", "package_url": "https://pypi.org/project/e2c/", "platform": "any", "project_url": "https://pypi.org/project/e2c/", "project_urls": { "Bug Reports": "https://gitlab.com/elastic-event-components/e2c/issues", "Homepage": "http://e2c.readthedocs.io", "Source": "https://gitlab.com/elastic-event-components/e2c" }, "release_url": "https://pypi.org/project/e2c/0.46.2/", "requires_dist": [ "twine", "pytest", "pytest-cov", "pytest-asyncio" ], "requires_python": ">=3.6", "summary": "Elastic Event Components is an open source software library to build flexible architectures using dataflow graphs.", "version": "0.46.2" }, "last_serial": 3993109, "releases": { "0.32rc2": [ { "comment_text": "", "digests": { "md5": "ec1ddc2680103302a26abc4b99820595", "sha256": "17e071d7f087092c76bd45dc10bd065f1f899b4c673adf45791abc20e9d3013b" }, "downloads": -1, "filename": "e2c-0.32rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "ec1ddc2680103302a26abc4b99820595", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31483, "upload_time": "2018-04-14T23:32:37", "url": "https://files.pythonhosted.org/packages/b6/63/be7fb613d352c79a18001eb8a696c2d2bbdfc15ef65046c83b60d64fb434/e2c-0.32rc2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8227c2a58d345baca1ae1804d548550c", "sha256": "2af7d4381d8d08361f4c3161984e163091b934b57ba5fb61426e49c39be42a11" }, "downloads": -1, "filename": "e2c-0.32rc2.tar.gz", "has_sig": false, "md5_digest": "8227c2a58d345baca1ae1804d548550c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15150, "upload_time": "2018-04-14T23:32:38", "url": "https://files.pythonhosted.org/packages/21/58/44dda9e51f91fba0d0d8d6daf82752bbde2b88271a1801e3c5624d189eef/e2c-0.32rc2.tar.gz" } ], "0.41.0": [ { "comment_text": "", "digests": { "md5": "a7ecf9aee71065fd514f676168102001", "sha256": "130154e659a6a7ec9ee3c80938376200eaca06c76dc9162e1d9c17f0f5e247cd" }, "downloads": -1, "filename": "e2c-0.41.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a7ecf9aee71065fd514f676168102001", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31484, "upload_time": "2018-04-15T14:57:06", "url": "https://files.pythonhosted.org/packages/68/ee/81733aa3749b044775d4056a27d33b20a81914835fdda1cf67a35973c0af/e2c-0.41.0-py3-none-any.whl" } ], "0.42.0": [ { "comment_text": "", "digests": { "md5": "df312c9588b9f1d398e0a9dbeca84c12", "sha256": "b9c4bc0f35fb892c43772dc624c074432ffbcb80f61e2913e04b6214aff5048f" }, "downloads": -1, "filename": "e2c-0.42.0-py3.6.egg", "has_sig": false, "md5_digest": "df312c9588b9f1d398e0a9dbeca84c12", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.6", "size": 66495, "upload_time": "2018-04-21T12:15:49", "url": "https://files.pythonhosted.org/packages/80/96/393fdd84d3d7ec7448b72ce7ee6a700389a56b3e49a3ee94869e7b6fadd6/e2c-0.42.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "0c8581f4e1335eed7e6a132b13e2281b", "sha256": "07aa49f1a2a26474e50b6a0579cc3cbd2971e5af2a9287615eeb8cb6f6808304" }, "downloads": -1, "filename": "e2c-0.42.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0c8581f4e1335eed7e6a132b13e2281b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31489, "upload_time": "2018-04-15T15:03:32", "url": "https://files.pythonhosted.org/packages/a3/25/9ad9298c51a7a0369f37fa92f5257250d0484d93259ce134cc68c651f731/e2c-0.42.0-py3-none-any.whl" } ], "0.43.0": [ { "comment_text": "", "digests": { "md5": "cba418cf4c7d79af0c40a8c2d54f878e", "sha256": "631c72b5d7711af2b40f583d9977a71ce8d59a8c9ba4b3fe17a95a5ff4790ce7" }, "downloads": -1, "filename": "e2c-0.43.0-py3.6.egg", "has_sig": false, "md5_digest": "cba418cf4c7d79af0c40a8c2d54f878e", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.6", "size": 84867, "upload_time": "2018-04-21T12:15:51", "url": "https://files.pythonhosted.org/packages/2a/82/7fa7fb33cf174ab86c2032e643308bd3f0e9abd69d33f99fbd2741e3f3c6/e2c-0.43.0-py3.6.egg" } ], "0.43.1": [ { "comment_text": "", "digests": { "md5": "6bd6e9ed33db9665f01a91962b666cfd", "sha256": "7a5e2dcb479ec60c1054552ba458ec2690e5747dbcf8bcc8bbedff9bea52a888" }, "downloads": -1, "filename": "e2c-0.43.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6bd6e9ed33db9665f01a91962b666cfd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 44314, "upload_time": "2018-04-21T12:15:47", "url": "https://files.pythonhosted.org/packages/70/ea/60cf9da6b9e8089b3fba7a5d4cd89ee38439b3c62062c31cd3788b71c962/e2c-0.43.1-py3-none-any.whl" } ], "0.43.2": [ { "comment_text": "", "digests": { "md5": "c4c0d891a2ee52582c7fef3b2f7823e4", "sha256": "4bf9add84ae6880206aa57e2b41107baf5212b332115df096c178cf48486d257" }, "downloads": -1, "filename": "e2c-0.43.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c4c0d891a2ee52582c7fef3b2f7823e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 44315, "upload_time": "2018-04-22T08:35:14", "url": "https://files.pythonhosted.org/packages/5e/d6/2500f0b33632dd96c0d8570dca26cfa2ca08fca79082db4d42465eac543b/e2c-0.43.2-py3-none-any.whl" } ], "0.43.3": [ { "comment_text": "", "digests": { "md5": "35c64c6f76e2ceefd06c3e8fc8c81f1d", "sha256": "756fd42935a1e2ee5eb01043d448368ee54a325477b908f08b564bd6888ca68a" }, "downloads": -1, "filename": "e2c-0.43.3-py3-none-any.whl", "has_sig": false, "md5_digest": "35c64c6f76e2ceefd06c3e8fc8c81f1d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 44319, "upload_time": "2018-04-22T09:13:02", "url": "https://files.pythonhosted.org/packages/df/b5/90af02c6bb5b5bb89f9883a993a6a589c58ed6395f54f6213b62af3a389b/e2c-0.43.3-py3-none-any.whl" } ], "0.43.4": [ { "comment_text": "", "digests": { "md5": "02ab9f5e4dec63f7e69cf80cacd1ea1c", "sha256": "f6022f443a4bf11c0f448f214911bd18a6a60b3caecbbb6a9fa6b04ceba3a1c5" }, "downloads": -1, "filename": "e2c-0.43.4-py3-none-any.whl", "has_sig": false, "md5_digest": "02ab9f5e4dec63f7e69cf80cacd1ea1c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 44355, "upload_time": "2018-04-29T21:53:03", "url": "https://files.pythonhosted.org/packages/5f/8f/6ccae3f8bda83796a2069edb6a92a5a45be55902e84589c7633137effb3d/e2c-0.43.4-py3-none-any.whl" } ], "0.45.0": [ { "comment_text": "", "digests": { "md5": "3c619459df0b1fbdcb6b5075722a87b9", "sha256": "6b3e91d3ff2c39c62cc8149bb513f3da0603b75ba50a49641948a2be40a9d143" }, "downloads": -1, "filename": "e2c-0.45.0-py3.6.egg", "has_sig": false, "md5_digest": "3c619459df0b1fbdcb6b5075722a87b9", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.6", "size": 90272, "upload_time": "2018-05-11T13:05:36", "url": "https://files.pythonhosted.org/packages/68/4b/53397663dbd2d41dc08cd5e3762d606489e735341ce9f9648b94cd374788/e2c-0.45.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "0b827fd1910d70ca41a3ac57a34feb06", "sha256": "3ca449d5b1ee2a487017826558e00469e12f623d05a468f351020044bfdb9e81" }, "downloads": -1, "filename": "e2c-0.45.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0b827fd1910d70ca41a3ac57a34feb06", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 44811, "upload_time": "2018-05-11T13:05:34", "url": "https://files.pythonhosted.org/packages/7e/94/00e6cb4bd6b80e1cd5b1799f2dc24f89f028473846e45c7e9f65759679a0/e2c-0.45.0-py3-none-any.whl" } ], "0.46.0": [ { "comment_text": "", "digests": { "md5": "ba1bdc45670a0236a0f7d5a5540e238b", "sha256": "f9333c9c8419ca0a0b24859edf0d479b9a37d977acc2b83cae5494036d4362a7" }, "downloads": -1, "filename": "e2c-0.46.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ba1bdc45670a0236a0f7d5a5540e238b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 45185, "upload_time": "2018-06-18T16:02:07", "url": "https://files.pythonhosted.org/packages/66/d7/c55e567491ead84f71e1da3b1607289b7a4b1581a0c755287d1b40886b50/e2c-0.46.0-py3-none-any.whl" } ], "0.46.1": [ { "comment_text": "", "digests": { "md5": "16fa9e15f25810a43c49210032765f82", "sha256": "bfd6382041684258af29aaf3bc82df26e2bca0a1d191c903a80426f5171ca367" }, "downloads": -1, "filename": "e2c-0.46.1-py3-none-any.whl", "has_sig": false, "md5_digest": "16fa9e15f25810a43c49210032765f82", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 45074, "upload_time": "2018-06-23T14:25:08", "url": "https://files.pythonhosted.org/packages/66/dd/3d984c6bf7c0951d3ba462250e87ee88a3e93360f28d49a4d37280082eb2/e2c-0.46.1-py3-none-any.whl" } ], "0.46.2": [ { "comment_text": "", "digests": { "md5": "1b8f61f33de9e9486c1794c74d79b8b6", "sha256": "f3d589c9787b445d18994434180434c8f95717c6bfb5a0841964c836747fc114" }, "downloads": -1, "filename": "e2c-0.46.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1b8f61f33de9e9486c1794c74d79b8b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 45651, "upload_time": "2018-06-23T15:45:16", "url": "https://files.pythonhosted.org/packages/ee/92/beddafe91fca2120d2b29e10471c7a52c460659331f13f850dd1d9dbb127/e2c-0.46.2-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1b8f61f33de9e9486c1794c74d79b8b6", "sha256": "f3d589c9787b445d18994434180434c8f95717c6bfb5a0841964c836747fc114" }, "downloads": -1, "filename": "e2c-0.46.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1b8f61f33de9e9486c1794c74d79b8b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 45651, "upload_time": "2018-06-23T15:45:16", "url": "https://files.pythonhosted.org/packages/ee/92/beddafe91fca2120d2b29e10471c7a52c460659331f13f850dd1d9dbb127/e2c-0.46.2-py3-none-any.whl" } ] }