$ account sartography
SpiffWorkflow is a Python library for executing BPMN 2.0 and DMN 1.x workflows. It provides a complete workflow engine with parsing, execution, serialization, and migration capabilities. The library supports standard BPMN constructs (gateways, events, subprocesses, multi-instance loops, call activities) and DMN decision tables with UNIQUE and COLLECT hit policies. It includes a pluggable Python script engine for evaluating expressions and scripts within tasks, and a comprehensive serialization framework with version migration for workflow persistence. The architecture is modular, with separate packages for core workflow specs, BPMN specifics, DMN integration, Camunda-compatible extensions, and Spiff-specific customizations. This is not a standalone application but a library intended for embedding in larger systems; it is used as the backend for the SpiffWorkflow frontend tools.