DBOSify es una biblioteca de Python que actúa como sustituto directo de Temporal Python, pero utiliza Postgres —a través de DBOS Transact— como infraestructura en lugar de un servidor de Temporal. Esto permite ejecutar flujos de trabajo duraderos, actividades, señales, actualizaciones, reintentos y recuperación con el único requisito de disponer de una base de datos Postgres, eliminando la necesidad de desplegar y mantener un clúster de Temporal.
Su uso es deliberadamente sencillo: basta con instalar el paquete con pip install dbosify y reemplazar el import de temporalio por dbosify. Los workers y clientes se conectan a una URL de Postgres, manteniendo la misma API pública de Temporal. Cada flujo de Temporal se ejecuta como un flujo respaldado por DBOS: un intérprete determinista avanza únicamente cuando llega un evento, registrando en Postgres todas las acciones no deterministas antes de que el flujo las observe. Las actividades y temporizadores se convierten en pasos DBOS y esperas durables con checkpoint al completarse; las señales, actualizaciones y cancelaciones se entregan como mensajes durables mediante LISTEN/NOTIFY. Tras un fallo, la recuperación relanza el flujo en un nuevo worker y el intérprete reproduce la secuencia registrada de operaciones, garantizando reanudación y ejecución exactamente una vez. Los namespaces se corresponden con esquemas de Postgres.
La biblioteca incluye pruebas de corrección y conformidad con Temporal: puertos de las pruebas unitarias y de integración de Temporal Python, puertos de aplicaciones de ejemplo, pruebas específicas de kill-and-recover, y tests de paridad de firma que verifican mecánicamente la identidad de las API públicas. Entre sus limitaciones declaradas no ofrece compatibilidad de protocolo (sin gRPC con otros SDK de Temporal), ni Temporal Web UI, CLI temporal ni tctl; la gestión de flujos se realiza con las API de DBOS y DBOS Conductor. Está orientada a aplicaciones exclusivamente en Python que quieran simplificar su infraestructura manteniendo una API familiar.
