File: README.md

package info (click to toggle)
python-ewoks 0.6.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 552 kB
  • sloc: python: 1,311; makefile: 5
file content (45 lines) | stat: -rw-r--r-- 1,313 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Ewoks: Extensible Workflow System

Many [workflow management systems](https://s.apache.org/existing-workflow-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.

## Install

```bash
pip install ewoks[orange,dask,ppf,test]
```

## Test

```bash
pytest --pyargs ewoks.tests
```

## Getting started

Workflows can be executed from the command line

```bash
ewoks execute /path/to/graph.json [--engine dask]
```

or for an installation with the system python

```bash
python3 -m ewoks execute /path/to/graph.json [--engine dask]
```

Workflows can also be executed from python

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

## Documentation

https://ewoks.readthedocs.io/