.. e2c documentation master file, created by sphinx-quickstart on Mon Apr 2 14:11:50 2018. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. ======================== Elastic Event Components ======================== .. image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg .. image:: https://gitlab.com/elastic-event-components/e2c/badges/master/pipeline.svg :target: https://gitlab.com/elastic-event-components/e2c/commits/master/ Current version is |release| **Elastic Event Components** is an open source software library to build flexible architectures using dataflow graphs. A graph node represents any operation, while the graph edges represent the data of the operation. Each parameter can be bound to any number of operations and thus brought into a flow. **Elastic Event Components also includes flow visualization.** What is a dataflow graph? ========================= Dataflow is a common programming model for parallel computing. In a dataflow graph, the nodes represent units of computation, and the edges represent the data consumed or produced by a computation. .. toctree:: :maxdepth: 2 arch/dataflow.rst Learn more ---------- Read the lectures_ to learn more about E2c. .. _lectures: https://gitlab.com/elastic-event-components/e2c-lectures Getting Started in Python ========================= *E2C has* **APIs available in several languages** *both for constructing and executing a E2c graph. The Python API is at present the most complete and the easiest to use, but other language APIs are also easy to integrate.* **Try your first E2C program in Python.** .. highlight:: python >>> config = ( '.run -- action', 'action.out -- print') >>> import e2c >>> graph = e2c.Graph(config) >>> >>> graph.actor('action', ... lambda data, out: out(data)) >>> >>> graph.actor('print', ... lambda data: print(data)) Run the flow ------------ .. highlight:: python >>> graph.run('Hello, E2C') If the system outputs the following, then you are ready to start writing E2C programs: .. code-block:: bash $ Hello, E2C Visualize --------- .. highlight:: python >>> graph.visualize() .. image:: /_static/quickstart1.png :align: center .. toctree:: :maxdepth: 2 start/index.rst Installation ============ .. toctree:: :maxdepth: 2 install/index.rst The Pattern =========== .. toctree:: :maxdepth: 2 pattern/index.rst Lectures ======== .. toctree:: Read the lectures .. Tutorials .. ========= .. .. toctree:: .. :maxdepth: 2 .. .. tutorial/index.rst .. API Reference .. ============= .. .. toctree:: .. :maxdepth: 2 .. .. api/index.rst Source ====== .. toctree:: :maxdepth: 2 E2C is hosted on `GitLab`_. Please feel free to file an issue on the `bug tracker `_ if you have found a bug or have some suggestion in order to improve the library. The library uses `CI / CD `_ for Continuous Integration. .. _GitLab: https://gitlab.com/elastic-event-components/e2c License ======= The ``E2C`` package is written under the *Apache 2* license and freely available. Feel free to improve this package and send a pull request to GitLab_. Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search`