DBOS transact – Ultra-lightweight durable execution in Python
DBOS transact – Ultra-lightweight durable execution in Python
Hi HN - DBOS CEO here with the co-founders of DBOS, Peter (KraftyOne) and Qian (qianli_cs). The company started as a research project of Stanford and MIT, and Peter and Qian were advised by Mike Stonebreaker, the creator of Postgres, and Matei Zaharia, the creator of Spark. They believe so strongly in reliable, serverless compute that they started a company (with Mike) to bring it to the world! Today we want to share our brand new Python library providing ultra-lightweight durable execution. https://github.com/dbos-inc/dbos-transact-py Durable execution means your program is resilient to any failure. If it is ever interrupted or crashes, all your workflows will automatically resume from the last completed step. If you want to see durable execution in action, check out this demo app: https://demo-widget-store.cloud.dbos.dev/ Or if you’re like me and want to skip straight to the Python decorators in action, here’s the demo app’s backend – an online store with reliability and correctness in just 200 LOC: https://github.com/dbos-inc/dbos-demo-apps/blob/main/python/... Don't want to keep reading and just try it out: https://console.dbos.dev/launch No matter how many times you try to crash it, it always resumes from exactly where it left off! And yes, that button really does crash the app. Under the hood, this works by storing your program's execution state (which workflows are currently executing and which steps they've completed) in a Postgres database. So all you need to use it is a Postgres database to connect to—there's no need for a "workflow server." This approach is also incredibly fast, for example 25x faster than AWS Step Functions. Some more cool features include: * Scheduled jobs—run your workflows exactly-once per time interval, no more need for cron. * Exactly-once event processing—use workflows to process incoming events (for example, from a Kafka topic) exactly-once. No more need for complex code to avoid repeated processing * Observability—all workflows automatically emit OpenTelemetry traces. Docs: https://docs.dbos.dev/ Examples: https://docs.dbos.dev/examples We also have a webinar on Thursday where we will walk through the new library, you can sign up here: https://www.dbos.dev/webcast/dbos-transact-python We'd love to hear what you think! We’ll be in the comments for the rest of the day to answer any questions you may have.
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
ThreadJob lightweight asynchronous scheduling and execution
Reactive Jupyter- reactive execution of Python in VSCode
Furnace – A lightweight pure-python container implementation
Furnace – A Lightweight Pure-Python Container
Binder - a lightweight SQL mapper for Python
marshmallow - Python Object Serialization, Lightweight and Fluffy
PyAirbyte – We built a lightweight Python library for ELT
Tawazi – A Python library for parallel execution of functions in DAGs
Tassel, Ultra-Lightweight JavaScript Styling
Serverless Asynchronous Task Execution in Python