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.3.0.tar.gz (33.7 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.3.0-py3-none-any.whl (51.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pgloom-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ebe74d3cd4844f27e6d0bb449783d3a855a412ff8e6026cc547348fb2e67c132
MD5 70798d1aaa0fa2adb33b3a3c5329e2b9
BLAKE2b-256 50478931b9cc50212f66eb9a73bd35f4a02bdc55a53d401c0af096522d8620e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pgloom-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: pgloom-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 51.6 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a02df8b27ed2858a4e89848e1e269a788272a4f8fbd76065417d622e3bb062ad
MD5 42f4d56bf9c4f9d417680745d0baf9fa
BLAKE2b-256 04aaaa43cb2ddd185af2525c88a270e887b7cc3883945dc4e50387812a41958b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pgloom-0.3.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