# sartography/SpiffWorkflow

A powerful workflow engine implemented in pure Python

Repository: https://github.com/sartography/SpiffWorkflow
Canonical: https://ross.abutalabs.com/products/spiffworkflow
Language: Python
License: LGPL-3.0
License Family: copyleft
Topics: workflow, spiff-workflow, python, workflow-specification, bpmn, bpmn-engine, workflowpatterns
Last push: 2026-08-10T16:11:05+00:00

## Health v2 (maintenance only)
Score: 86/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 97, release rhythm 65, longevity 100
- inputs: {"age_days": 6095, "days_push": 23, "days_rel": 23, "gap_med": 201, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1912, forks 342 (observed 2026-08-28T04:05:53.181115+00:00)

## What it is
SpiffWorkflow is a pure Python workflow engine that parses and executes BPMN process diagrams and DMN decision tables. It enables building low-code business applications where non-developers define workflows visually and Python scripts run within them.

## Use cases
- execute bpmn workflow diagrams in python
- embed a bpmn engine in my application
- run dmn decision tables from python
- build low-code business process apps
- parse bpmn xml and execute the process
- model multi-step approval workflows with timers and signals

## When to choose
- you need a BPMN-compliant workflow engine in pure Python
- non-developers should design workflows visually that your app executes
- you want DMN decision tables integrated with Python scripting
- you need workflow features like sub-workflows, boundary events, and multi-instance tasks

## When to avoid
- you need a distributed, persistent workflow service out of the box rather than an embeddable library
- you require full BPMN specification compliance for every exotic element
- your stack is Java or another language with mature BPMN engines like Camunda

## Facets
- artifact type: library
- maturity: active
- function: workflow-automation, parser, interpreter
- domain: developer-tools, backend
- platform: python, cross-platform
- tags: bpmn, dmn, workflow-engine, low-code, business-process, automation

## Member repositories
- sartography/SpiffWorkflow (main) score 86

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:53.181115+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:10:39.660685+00:00, confidence not recorded.
  - readme: https://github.com/sartography/SpiffWorkflow (fetched 2026-08-28T04:05:53.181115+00:00, sha 43923ceb250a)
  - registry_pypi: https://pypi.org/pypi/spiffworkflow/json (fetched 2026-08-29T10:49:53.095069+00:00, sha 279b47950ef9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
