Skip to main content

Postgres-backed reusable workflow and task orchestration runtime.

Project description

pgloom

PyPI version Python versions License CI

pgloom is a Postgres-backed workflow and task orchestration runtime for building domain-specific automation systems. It provides durable workflow state, task dependencies, worker leases, slots, approvals, idempotency records, model usage accounting, artifacts, notifications, health checks, and a scenario harness.

Quickstart

pip install pgloom
createdb pgloom_dev
export PGLOOM_DATABASE_URL=postgresql://localhost/pgloom_dev
pgloom db migrate
pgloom workflow create --domain demo --name smoke
pgloom task enqueue --workflow-id <workflow_id> --slot fake --task-type fake.complete
pgloom worker run-once --slot fake

For local development:

scripts/bootstrap_dev_env.sh
source .venv/bin/activate
just test

Concepts

flowchart LR
  W[Workflow] --> T[Tasks]
  T --> D[Dependencies]
  T --> S[Slots]
  S --> R[Workers]
  T --> H[Handlers]
  H --> E[Events]
  H --> A[Artifacts]
  H --> M[Model usage]
  • Workflows group related tasks and carry domain metadata.
  • Tasks are durable units of work with state, attempts, payloads, results, blockers, dependencies, and leases.
  • Slots model constrained execution capacity such as claude, codex, or qa.
  • Handlers are application code that claims tasks and returns structured outcomes.

Embedding

Domain orchestrators import pgloom and keep their own domain behavior outside the core runtime. engineering-orchestrator is the reference consumer planned for engineering-specific planner, implementer, reviewer, QA, historian, GitHub, BRAID, worktree, and Telegram behavior.

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pgloom-0.2.0.tar.gz (30.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pgloom-0.2.0-py3-none-any.whl (45.7 kB view details)

Uploaded Python 3

File details

Details for the file pgloom-0.2.0.tar.gz.

File metadata

  • Download URL: pgloom-0.2.0.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pgloom-0.2.0.tar.gz
Algorithm Hash digest
SHA256 af757ba3ead10a05be1b9ed4e01f084a039240280003fde3cc0829e0cf2450a9
MD5 adce6e28983168907efc0816111c63ab
BLAKE2b-256 a251123c9e48868087c92618026a947cf897dd58e5aa016f4ee92b9aa0883e3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pgloom-0.2.0.tar.gz:

Publisher: release.yml on joshorig/pgloom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pgloom-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pgloom-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 45.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pgloom-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 58f5df804d71e471bcd20ad23a54c9afdcfe05f4a7cfbb341f0f57d3768e4fb6
MD5 3c26384d6c0ee4290d6608801935f8f1
BLAKE2b-256 c03fde5a2eb8b83414815357244aa60d37723f677213d2f2872f0c794c8b7b62

See more details on using hashes here.

Provenance

The following attestation bundles were made for pgloom-0.2.0-py3-none-any.whl:

Publisher: release.yml on joshorig/pgloom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page