Skip to content

inveniosoftware-contrib/workflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4554993 · Feb 21, 2019
Oct 23, 2015
Sep 12, 2017
Apr 3, 2018
Feb 21, 2019
Aug 12, 2014
Aug 7, 2017
Aug 8, 2017
Sep 3, 2014
Aug 4, 2017
Apr 28, 2017
Aug 7, 2017
Aug 4, 2017
Aug 4, 2017
Oct 23, 2015
Sep 29, 2014
May 23, 2016
Apr 3, 2018
Aug 27, 2014

Repository files navigation

workflow

https://travis-ci.org/inveniosoftware-contrib/workflow.png?branch=master https://coveralls.io/repos/github/inveniosoftware-contrib/workflow/badge.svg?branch=master

About

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

Documentation is readable at http://workflow.readthedocs.io or can be built using Sphinx:

pip install Sphinx
python setup.py build_sphinx

Installation

Workflow is on PyPI so all you need is:

pip install workflow

Testing

Running the test suite is as simple as:

python setup.py test

or, to also show code coverage:

./run-tests.sh