ewoks 0.1

https://zenodo.org/badge/DOI/10.5281/zenodo.6075054.svg

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.

ewoks has been developed by the Software group of the European Synchrotron.

Getting started

Install ewoks

python3 -m pip install ewoks

Execute a workflow from the command line

ewoks execute /path/to/graph.json

or for an installation with the system python

python3 -m ewoks execute /path/to/graph.json

Ewoks has different interfaces to execute a workflow

Documentation

Binding documentation:

  • ewokscore : create workflows and implement tasks

  • ewoksorange : create and execute workflows with a desktop GUI

  • ewoksppf : execute cyclic workflows

  • ewoksdask : parallelize workflow execution

  • ewoksjob: distribute workflow execution

  • ewoksserver: REST server to manage and execute workflows

  • ewoksweb: web frontend to create, visualize and execute workflows

  • ewoksutils : developer utilities