Creating BPMN and non-BPMN workflows with SpiffWorkflow
SpiffWorkflow is a flexible Python execution engine for workflow activities. Its latest installment focuses more on BPMN models, but it always has strong support classes to build and run non-BPMN workflows translated into Python and JSON. The library has a BPMN interpreter that can execute tasks indicated in BPMN diagrams created by BPMN modeling tools and serializers to run JSON-based workflows.
To start SpiffWorkflow, we need to install some required dependencies.
Setting up the development environment
No broker or server is needed to run workflows with SpiffWorkflow. However, installing the main plugin using the pip
command is a requirement:
pip install spiffworkflow
Then, for serialization and parsing purposes, install the lxml
dependency:
pip install lxml
Since SpiffWorkflow uses the Celery client library for legacy support, install the celery
module:
pip install celery
Now, download and install a...