{"id":43675426,"url":"https://github.com/k9securityio/dbos-transact-py","last_synced_at":"2026-02-05T00:51:53.754Z","repository":{"id":281737727,"uuid":"941572652","full_name":"k9securityio/dbos-transact-py","owner":"k9securityio","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-20T16:12:19.000Z","size":1006,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-20T17:25:10.974Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/k9securityio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-02T16:02:29.000Z","updated_at":"2025-03-06T17:27:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"b0ece259-5742-45e2-9be8-5ca7a4e47abf","html_url":"https://github.com/k9securityio/dbos-transact-py","commit_stats":null,"previous_names":["k9securityio/dbos-transact-py"],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/k9securityio/dbos-transact-py","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k9securityio%2Fdbos-transact-py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k9securityio%2Fdbos-transact-py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k9securityio%2Fdbos-transact-py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k9securityio%2Fdbos-transact-py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/k9securityio","download_url":"https://codeload.github.com/k9securityio/dbos-transact-py/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k9securityio%2Fdbos-transact-py/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29104500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T22:44:52.815Z","status":"ssl_error","status_checked_at":"2026-02-04T22:44:16.428Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-05T00:51:52.287Z","updated_at":"2026-02-05T00:51:53.748Z","avatar_url":"https://github.com/k9securityio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cdiv align=\"center\"\u003e\n\n# DBOS Transact: A Lightweight Durable Execution Library Built on Postgres\n\n#### [Documentation](https://docs.dbos.dev/) \u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;  [Examples](https://docs.dbos.dev/examples) \u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp; [Github](https://github.com/dbos-inc) \u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp; [Discord](https://discord.com/invite/jsmC6pXGgX)\n\u003c/div\u003e\n\n---\n\nDBOS Transact is a Python library for **ultra-lightweight durable execution**.\nFor example:\n\n```python\n@DBOS.step()\ndef step_one():\n    ...\n\n@DBOS.step()\ndef step_two():\n    ...\n\n@DBOS.workflow()\ndef workflow()\n    step_one()\n    step_two()\n```\n\nDurable execution means your program is **resilient to any failure**.\nIf it is ever interrupted or crashes, all your workflows will automatically resume from the last completed step.\nDurable execution helps solve many common problems:\n\n- Orchestrating long-running or business-critical workflows so they seamlessly recover from any failure.\n- Running reliable background jobs with no timeouts.\n- Processing incoming events (e.g. from Kafka) exactly once.\n- Running a fault-tolerant distributed task queue.\n- Running a reliable cron scheduler.\n- Operating an AI agent, or anything that connects to an unreliable or non-deterministic API.\n\nWhat’s unique about DBOS's implementation of durable execution is that it’s implemented in a **lightweight library** that’s **totally backed by Postgres**.\nTo use DBOS, just `pip install` it and annotate your program with DBOS decorators.\nUnder the hood, those decorators store your program's execution state (which workflows are currently executing and which steps they've completed) in a Postgres database.\nIf your program crashes or is interrupted, they automatically recover its workflows from their stored state.\nSo all you need to use DBOS is Postgres\u0026mdash;there are no other dependencies you have to manage, no separate workflow server.\n\nOne big advantage of this approach is that you can add DBOS to **any** Python application\u0026mdash;**it’s just a library**.\nYou can use DBOS to add reliable background jobs or cron scheduling or queues to your app with no external dependencies except Postgres.\n\n## Getting Started\n\nInstall and configure with:\n\n```shell\npython3 -m venv dbos-example/.venv\ncd dbos-example\nsource .venv/bin/activate\npip install dbos\ndbos init --config\n```\n\nThen, try it out with this simple program:\n\n```python\nfrom fastapi import FastAPI\nfrom dbos import DBOS\n\napp = FastAPI()\nDBOS(fastapi=app)\n\n@DBOS.step()\ndef step_one():\n    print(\"Step one completed!\")\n\n@DBOS.step()\ndef step_two():\n    print(\"Step two completed!\")\n\n@DBOS.workflow()\ndef dbos_workflow():\n    step_one()\n    for _ in range(5):\n        print(\"Press Control + C twice to stop the app...\")\n        DBOS.sleep(1)\n    step_two()\n\n@app.get(\"/\")\ndef fastapi_endpoint():\n    dbos_workflow()\n```\n\nSave the program into `main.py` and start it with `fastapi run`.\nVisit `localhost:8000` in your browser to start the workflow.\nWhen prompted, press `Control + C` (You may need to press `Control + C` twice quickly, or press `Control + \\`, if `Control + C` is not effective in your environment) to force quit your application.\nIt should crash midway through the workflow, having completed step one but not step two.\nThen, restart your app with `fastapi run`.\nIt should resume the workflow from where it left off, completing step two without re-executing step one.\n\nTo learn how to build more complex workflows, see the [programming guide](https://docs.dbos.dev/python/programming-guide) or [examples](https://docs.dbos.dev/examples).\n\n## Documentation\n\n[https://docs.dbos.dev](https://docs.dbos.dev)\n\n## Examples\n\n\n- [**AI-Powered Slackbot**](https://docs.dbos.dev/python/examples/rag-slackbot) \u0026mdash; A Slackbot that answers questions about previous Slack conversations, using DBOS to durably orchestrate its RAG pipeline.\n- [**Widget Store**](https://docs.dbos.dev/python/examples/widget-store) \u0026mdash; An online storefront that uses DBOS durable workflows to be resilient to any failure.\n- [**Scheduled Reminders**](https://docs.dbos.dev/python/examples/scheduled-reminders) \u0026mdash; In just three lines of code, schedule an email to send days, weeks, or months in the future.\n\nMore examples [here](https://docs.dbos.dev/examples)!\n\n## Community\n\nIf you're interested in building with us, please star our repository and join our community on [Discord](https://discord.gg/fMwQjeW5zg)!\nIf you see a bug or have a feature request, don't hesitate to open an issue here on GitHub.\nIf you're interested in contributing, check out our [contributions guide](./CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk9securityio%2Fdbos-transact-py","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fk9securityio%2Fdbos-transact-py","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk9securityio%2Fdbos-transact-py/lists"}