dura¶
dura is a small, SQLite-backed durable execution engine and worker pool
for Python. One database file holds every task, run, checkpoint, event,
wait, and durable key-value entry. Scheduled work survives crashes and
restarts without a separate workflow server, message broker, or database
cluster.
Installation¶
dura requires Python 3.13 or later and has zero runtime dependencies.
Where to start¶
- Tutorial: your first durable task: new to
dura? Build a task, run it, crash it on purpose, and watch it pick up where it left off. - Examples: polling an API, fanning out, and rescheduling: a complete, realistic script combining fan-out, checkpoints, durable state, events, and recurring scheduling in one program.
- How-to guides: already have a
duraapp running? Recipes for retries, checkpoints, events, durable state, priorities, worker pools, and health checks. - Reference: the full API for
DurableEngine, the worker pool, and the liveness heartbeat. - Explanation: how the durability
model actually works, and when
durais (and isn't) the right tool.