ewoks |version| =============== .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.6075054.svg :target: https://doi.org/10.5281/zenodo.6075054 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* (ESRF Workflow System) 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* has been developed by the `Software group `_ of the `European Synchrotron `_. Getting started --------------- Install *ewoks* .. code:: bash pip install ewoks Create a test workflow in JSON format (“acyclic1” is an test workflow that ships with ewoks) .. code:: bash ewoks convert acyclic1 --test test.json Execute the test workflow and print the output of all tasks .. code:: bash ewoks execute test.json --outputs all For a desktop GUI, install *ewoks* with the orange binding .. code:: bash pip install ewoks[orange] Open the test workflow in the GUI .. code:: bash ewoks execute test.json --engine orange For a web GUI, install *ewoksserver* with the frontend .. code:: bash pip install ewoksserver[frontend] Start the *ewoks* web server, open the link in a web browser and load the `test.json` file .. code:: bash ewoks-server .. toctree:: :hidden: tutorials howtoguides api 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