Many workflow management systems exist to deal with data processing problems that can be expressed as a graph of tasks, also referred to as a computational graph or workflow. The main purpose of a workflow management system is to provide a framework for implementing tasks, creating graphs of tasks and executing these graphs.
The purpose of ewoks is to provide an abstraction layer between graph representation and execution. This allows using the same tasks and graphs in different workflow management systems. ewoks itself is not a workflow management system.
pip install ewoks[orange,dask,ppf,test]pytest --pyargs ewoks.testsWorkflows can be executed from the command line
ewoks execute /path/to/graph.json [--engine dask]or for an installation with the system python
python3 -m ewoks execute /path/to/graph.json [--engine dask]Workflows can also be executed from python
from ewoks import execute_graph
result = execute_graph("/path/to/graph.json", engine="dask")When no engine is specified it will use sequential execution from ewokscore.