scikit-bio is back in active development! Check out our announcement of revitalization.


class skbio.workflow.Workflow(state, short_circuit=True, debug=False, options=None, **kwargs)[source]#

Arbitrary workflow support structure.

Methods that are considered to be directly part of the workflow must be decorated with method. The workflow methods offer a mechanism to logically group functionality together, and are free to make subsequent calls to other methods.

All methods of a subclass of Workflow (those with and without the method decoration) can take advantage of the requires decorator to specify any option or state requirements for the decorated function.


State can be anything or nothing. This is dependent on the workflow as in some cases, it is useful to preallocate state while in other workflows state may be ignored.


if True, enables ignoring function methods when a given item has failed


Enable debug mode


runtime options, {‘option’:values}, that the requires decorator can interrogate.


Additional arguments will be added as member variables to self. This is handy if additional contextual information is needed by a workflow method (e.g., a lookup table).


__call__(iter_[, success_callback, ...])

Operate on all the data.

__eq__(value, /)

Return self==value.

__ge__(value, /)

Return self>=value.


Helper for pickle.

__gt__(value, /)

Return self>value.


Return hash(self).

__le__(value, /)

Return self<=value.

__lt__(value, /)

Return self<value.

__ne__(value, /)

Return self!=value.


Return str(self).



Initialize state.