No project description provided
oautom is educational workflow engine implementation able to
run step by step treatment using directed acyclic graph (dag).
It's not designed to use in production environment :
- this workflow engine is not safe because all the state are stored
- this workflow engine does not support
- this workflow engine does not support to give parameter to an execution
- this workflow engine does not implement variable forwarding between execution step
- this workflow engine does not implement dag integrity checking
if you are looking for a mature workflow engine, you should take a look to
which oautom reuse the declarative API.
oautom = OAutom(mode=OAutomMode.background) flow = Flow('flow 1', app=oautom) step1 = BashExecution('execution 1', flow=flow, command='touch /tmp/file1') step2 = BashExecution('sleep', flow=flow, command='sleep 60') step3 = BashExecution('execution 2', flow=flow, command='touch /tmp/file2') step2.depends(step1) step3.depends(step2)
more examples in oautom/examples
Executionshould run async command in
runand check completion through
BashExecutionallows to run shell command
Flowis a directed acyclic graph of steps
Vectis a running instance of a
- only one instance of each
Flowmay run in same time
The following requirements has to be setup on your host before running the command from this repository.
python 3.6at least
Install the python dependencies
make install_requirements_dev make start
The latest version
You can find the latest version to ...
git clone https://github.com/FabienArcellier/oautom.git
more information on how to use oautom in oautom/examples
pip install https://github.com/FabienArcellier/oautom.git
Install development environment
Use make to instanciate a python virtual environment in ./venv3 and install the python dependencies.
Freeze the library requirements
If you want to freeze all the packages, use this procedure
Activate the python environment
When you setup the requirements, a
venv3 directory on python 3 is created.
To activate the venv, you have to execute /
Run the linter and the unit tests
Before commit or send a pull request, you have to execute pylint to check the syntax of your code and run the unit tests to validate the behavior.
make lint make tests
- Fabien Arcellier
A short snippet describing the license (MIT, Apache, etc.)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.