dbos-inc/dbos-transact-py
Database-Backed Durable Python Workflows
What it solves
DBOS simplifies the creation of reliable, fault-tolerant applications by eliminating the need for complex state management, external orchestrators, or separate task queue systems. It allows developers to ensure that long-running processes—such as payment services, data pipelines, or AI agents—can recover seamlessly from crashes or interruptions without restarting from the beginning.
How it works
DBOS is a lightweight library that uses a Postgres database to checkpoint the state of a program. By annotating ordinary Python functions as @DBOS.workflow() and @DBOS.step(), the library automatically records progress in Postgres. If a failure occurs, DBOS resumes the workflow from the last completed step upon restart. It extends this durability to other primitives, including queues, scheduling, and event processing, all backed by the same Postgres instance.
Who it’s for
It is designed for developers building applications that must reliably handle failures, specifically those who want to avoid the overhead of managing heavyweight orchestration infrastructure (like Temporal) or those already using Postgres in their stack.
Highlights
- Durable Workflows: Automatically checkpoints state to resume from the last completed step after a failure.
- Durable Queues: Postgres-backed background task execution with flow control, rate limiting, and deduplication.
- Programmatic Management: Workflows are stored as Postgres rows, allowing developers to query, pause, resume, or fork failed executions via script.
- Exactly-Once Processing: Supports idempotency keys for webhooks and Kafka consumers to ensure events are processed exactly once.
- Durable Scheduling: Includes cron-style scheduling and durable sleep functions that persist through restarts.
- Durable Notifications: Allows workflows to pause until a specific notification is received or a timeout is reached.
Related
- Project
- Project
- Project
- Project
- Project