Elastic Event Components

https://img.shields.io/badge/License-Apache%202.0-blue.svghttps://gitlab.com/elastic-event-components/e2c/badges/master/pipeline.svg

Current version is 0.45.0

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.

Learn more

Read the lectures to learn more about E2c.

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.

>>> 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

>>> graph.run('Hello, E2C')

If the system outputs the following, then you are ready to start writing E2C programs:

$ Hello, E2C

Source

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.

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