Workflow is a Finite State Machine with memory. It is used to execute set of methods in a specified order.
Here is a simple example of a workflow configuration:
[
check_token_is_wanted, # (run always)
[ # (run conditionally)
check_token_numeric,
translate_numeric,
next_token # (stop processing, continue with next token)
],
[ # (run conditionally)
check_token_proper_name,
translate_proper_name,
next_token # (stop processing, continue with next token)
],
normalize_token, # (only for "normal" tokens)
translate_token,
]
Documentation is readable at http://workflow.readthedocs.io or can be built using Sphinx:
pip install Sphinx python setup.py build_sphinx
Workflow is on PyPI so all you need is:
pip install workflow
Running the test suite is as simple as:
python setup.py test
or, to also show code coverage:
./run-tests.sh