Repolode
dbos-inc

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. 1

    Follow the quickstart guide to install the library and connect it to a Postgres database

  2. 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