This project provides the client facing API for the PTero Workflow system. This system is designed to be a highly scalable replacement of the legacy Workflow system from The Genome Institute.
The current implementation, which does not provide an easy to use API, easily handles our production workflows with tens of thousands of nodes. For reference, it can be found in two parts: core and workflow
The workflows are driven using an implementation of Petri nets with some extensions for color and token data.
The API is currently described here. The other existing components are: the petri core service and a forking shell command service.
The tests for this service depend on a running petri and forking shell command service. To run the tests, first install some tools:
pip install tox
Then setup the petri service and the shell-command service. In the parent directory:
git clone https://github.com/genome/ptero-petri.git
git clone https://github.com/genome/ptero-shell-command.git
And in the ptero-workflow directory:
ln -s ../ptero-petri
ln -s ../ptero-shell-command
Now, you can run the tests using tox:
tox -e py27
To see a coverage report after successfully running the tests:
coverage report