{"repo":"dbos-inc/dbosify-py","free":true,"listed":false,"github":"https://github.com/dbos-inc/dbosify-py","clone":"git clone https://github.com/dbos-inc/dbosify-py.git","description":"Postgres-Backed Drop-in Temporal Replacement","language":"Python","stars":204,"topics":["dbos","durable","temporal","workflow"],"license":"MIT","category":"workflow-automation","readme_excerpt":"DBOSify DBOSify is a drop-in replacement for Temporal Python that uses Postgres (through DBOS Transact) instead of a Temporal server. This lets you run durable workflows, activities, signals, updates, retries, and recovery without needing any infrastructure except Postgres. To use this library, import dbosify instead of temporalio and connect your workers and clients to a Postgres database: Usage To install: This is a drop-in replacement: simply import dbosify instead of temporalio and connect your clients and workers to a Postgres database instead of a Temporal server. Further documentation here. How It Works DBOSify runs each Temporal workflow as a Postgres-backed DBOS workflow. A deterministic interpreter runs the workflow (both its main coroutine and its signal, update, and query handlers) on a virtual event loop that only advances when an event arrives. Using DBOS steps and workflow communication primitives, all nondeterministic actions are checkpointed in Postgres before the workflow observes them. - Activities and timers become DBOS steps and durable sleeps, each checkpointed on completion. - Signals, updates, and cancellations are durable messages delivered through Postgres using LISTEN/NOTIFY. - Recovery re-runs the workflow on a new worker: the interpreter replays the same sequence of operations against the recorded checkpoints, so execution resumes where it left off and completes exactly once. - Namespaces each map to their own Postgres schema; a Client wraps a DBO","default_branch":null,"files":null,"tree":[],"storefront":"/r/dbos-inc","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dbos-inc/dbosify-py/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}