// the find
faxad/activflow
Generic, light-weight & extensible Workflow Engine for agile automation of Business Processes | Django, Python
ActivFlow is a Django-based workflow engine that maps business processes as Python code — activities as models, transitions as functions, roles as Django groups. It's aimed at Django shops that need a lightweight approval-chain system without pulling in a full BPM platform like Camunda.
The config-as-code approach (FLOW dict + model inheritance) fits naturally into Django's conventions and keeps workflow definitions version-controlled. The test suite covers the core engine with a self-contained test app, which is more than most small Django packages bother with. The Docker setup and demo script mean you can actually run the thing in five minutes to evaluate it. Transition rules as plain Python functions are easy to reason about — no XML, no DSL.
Dead since February 2023, pinned to Bootstrap 3 and Django 3.x — both well past their prime and you'd be taking on upgrade work before you even start. No async task support: transitions happen synchronously in the request/response cycle, so any workflow step that does real work (sends email, calls an API) will block. No concept of parallel branches or join nodes — flows are strictly linear, which rules out most real business processes beyond simple approval chains. The UI is entirely auto-generated from model fields with no hook for embedding workflows into an existing app's frontend.