Postgres-backed reusable workflow and task orchestration runtime.
Project description
pgloom
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, orqa. - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebe74d3cd4844f27e6d0bb449783d3a855a412ff8e6026cc547348fb2e67c132
|
|
| MD5 |
70798d1aaa0fa2adb33b3a3c5329e2b9
|
|
| BLAKE2b-256 |
50478931b9cc50212f66eb9a73bd35f4a02bdc55a53d401c0af096522d8620e4
|
Provenance
The following attestation bundles were made for pgloom-0.3.0.tar.gz:
Publisher:
release.yml on joshorig/pgloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pgloom-0.3.0.tar.gz -
Subject digest:
ebe74d3cd4844f27e6d0bb449783d3a855a412ff8e6026cc547348fb2e67c132 - Sigstore transparency entry: 1434838197
- Sigstore integration time:
-
Permalink:
joshorig/pgloom@a9fa5e37dc14f71bd561dcd0832e93a113d5460a -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/joshorig
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a9fa5e37dc14f71bd561dcd0832e93a113d5460a -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a02df8b27ed2858a4e89848e1e269a788272a4f8fbd76065417d622e3bb062ad
|
|
| MD5 |
42f4d56bf9c4f9d417680745d0baf9fa
|
|
| BLAKE2b-256 |
04aaaa43cb2ddd185af2525c88a270e887b7cc3883945dc4e50387812a41958b
|
Provenance
The following attestation bundles were made for pgloom-0.3.0-py3-none-any.whl:
Publisher:
release.yml on joshorig/pgloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pgloom-0.3.0-py3-none-any.whl -
Subject digest:
a02df8b27ed2858a4e89848e1e269a788272a4f8fbd76065417d622e3bb062ad - Sigstore transparency entry: 1434838304
- Sigstore integration time:
-
Permalink:
joshorig/pgloom@a9fa5e37dc14f71bd561dcd0832e93a113d5460a -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/joshorig
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a9fa5e37dc14f71bd561dcd0832e93a113d5460a -
Trigger Event:
push
-
Statement type: