Temporal is a durable execution platform whose server runs application workflows and automatically retries failed steps.
dbos-inc/dbos-transact-py
A Python library that adds durable workflows and task queues to your program, with state checkpointed in Postgres.
Open-source alternative to:Temporal
- Stars
- 1,667
- Forks
- 116
- Open issues
- 8
- Last commit
- 4 days ago
What is it?
DBOS Transact is an open-source Python library for building durable workflows. You annotate ordinary functions as workflows and steps, and the library checkpoints their progress in Postgres. If the process crashes or restarts, workflows resume from the last completed step instead of starting over.
The library also includes durable queues, scheduling, and notifications, all backed by Postgres. Tasks enqueued from a workflow are guaranteed to complete and return their results to the caller, even across interruptions. Queues support concurrency limits, rate limits, timeouts, deduplication, and prioritization. Cron-based schedules and durable sleep let workflows wait for days or weeks.
No separate orchestrator, message broker, or queueing service is needed; the only infrastructure dependency is a Postgres database. Workflows are stored as rows in Postgres, so they can be queried, paused, resumed, or forked from a specific step through a client API.
Key features
- 01Checkpoints workflow and step state in Postgres so processes resume after failures.
- 02Durable task queues with concurrency, rate limiting, timeouts, deduplication, and priorities.
- 03Cron-based scheduling and durable sleep that survives restarts.
- 04Durable notifications and events for pausing workflows until a message arrives.
- 05Programmatic client for querying, pausing, resuming, and forking workflows.
Use cases
- Payment or order processing that must complete even if servers crash mid-operation.
- Long-running data pipelines that resume from checkpoints instead of restarting.
- Operating AI agents that call unreliable or non-deterministic APIs.
- Processing webhooks or Kafka messages exactly once in the background.
Quick start
- 1
Follow the quickstart guide to install the library and connect it to a Postgres database
- 2
Annotate your functions with @DBOS.workflow() and @DBOS.step() to make them durable
Things to know
- Requires a Postgres database to store workflow state.
- Python-only library, so it does not support other languages.
In collections
Topics
FAQ
- What is dbos-transact-py?
- A Python library that adds durable workflows and task queues to your program, with state checkpointed in Postgres. DBOS Transact is an open-source Python library for building durable workflows. You annotate ordinary functions as workflows and steps, and the library checkpoints their progress in Postgres. If the process crashes or restarts, workflows resume from the last completed step instead of starting over.
- Is dbos-transact-py free to use? What license does it have?
- dbos-transact-py is open source under the MIT license. Check the license terms before using it in commercial products.
- Is dbos-transact-py still maintained?
- Actively maintained. The last commit to dbos-transact-py was on Nov 4, 2026.
- What can I use dbos-transact-py for?
- Payment or order processing that must complete even if servers crash mid-operation. Long-running data pipelines that resume from checkpoints instead of restarting. Operating AI agents that call unreliable or non-deterministic APIs. Processing webhooks or Kafka messages exactly once in the background.
- How do I install dbos-transact-py?
- Follow the quickstart guide to install the library and connect it to a Postgres database Annotate your functions with @DBOS.workflow() and @DBOS.step() to make them durable
- Where can I get dbos-transact-py?
- The source code and installation instructions are on GitHub: https://github.com/dbos-inc/dbos-transact-py
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An orchestration engine for background tasks, AI agents and durable workflows, with Python, TypeScript, Go and Ruby SDKs and Postgres as its durability layer.
Python library for durable background workflows and actions that survive restarts and crashes, using Postgres as the only infrastructure.
Open-source durable execution engine for orchestrating microservices, AI agents and adaptive workflow graphs, with workers in multiple languages.
Python workflow orchestration framework that turns scripts into production data pipelines with scheduling, retries, caching and event-based automations.
Restate is a runtime for building resilient applications with durable execution, reliable messaging, and durable state that survive infrastructure failures.