dbos-python_skill

This skill helps you build reliable, fault-tolerant Python applications with DBOS durable workflows, including workflows, steps, queues, and external clients.
  • TypeScript

3

GitHub Stars

2

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill dbos-inc/agent-skills --skill dbos-python

  • AGENTS.md2.7 KB
  • SKILL.md2.9 KB

Overview

This skill packages guidance and code patterns for using the DBOS Python SDK to build reliable, fault-tolerant applications with durable workflows. It focuses on how to structure workflows and steps, configure and launch DBOS, and use queues and the DBOSClient from external applications. The content aims to make workflows deterministic and applications resilient to failures.

How this skill works

The skill inspects common DBOS usage scenarios and enforces best-practice rules: lifecycle and launch configuration, workflow and step boundaries, queue-based concurrency, and client interactions. It highlights critical constraints (for example, where to put non-deterministic code and which DBOS APIs must not be called inside steps). The guidance points to reference documents for detailed examples and links to the official DBOS docs and SDK repo.

When to use it

  • Adding DBOS to an existing Python service
  • Designing durable workflows and steps that call external services
  • Controlling concurrency with DBOS queues
  • Integrating DBOSClient into external applications
  • Configuring and launching DBOS in production
  • Writing tests for DBOS workflows and steps

Best practices

  • Always configure and launch DBOS inside your program’s main function with DBOSConfig and DBOS.launch
  • Mark side-effecting or non-deterministic operations as @DBOS.step() so workflows remain deterministic
  • Never call DBOS.start_workflow or DBOS.recv from inside a step
  • Avoid starting workflows from threads; use DBOS.start_workflow or queue-driven producers instead
  • Do not mutate or rely on global variables in workflows or steps; treat state as managed by DBOS
  • Use queues for concurrency control and to serialize access to shared resources

Example use cases

  • A web service that enqueues user tasks and runs durable background workflows via DBOS queues
  • A data-processing pipeline where each external API call is implemented as a DBOS step to ensure retry and isolation
  • An external monitoring tool that uses DBOSClient to query workflow state and start workflows safely
  • A fault-tolerant job runner that launches deterministic workflows and isolates non-deterministic logic in steps
  • Automated testing harness that invokes DBOS workflows and asserts step outputs without side effects

FAQ

Configure DBOS with DBOSConfig and instantiate DBOS inside your main function, then call DBOS.launch() only from the process entrypoint.

Can I perform HTTP calls directly inside a workflow?

No. Put HTTP calls and other non-deterministic operations inside functions decorated with @DBOS.step() so the workflow remains deterministic and replayable.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
dbos-python skill by dbos-inc/agent-skills | VeilStrat