βοΈ dagpipe β Directed Acyclic Graph Execution for Deterministic State
dagpipe executes pipelines composed of nodes connected in a directed acyclic
graph (DAG). Each node receives an immutable State and optionally produces
derived states for downstream nodes. Execution is deterministic: the same input
state and pipeline always produce the same output states and lineage.
Doc model: this wiki is written for humans β howβto guides, examples, and testing recipes. The authoritative API contracts live in the code (GSDFC docstrings) and the machineβreadable bundle under
docs/mcp/.
π Key Features
- π§± Node-based execution β each node is a pure, deterministic unit of work
- π DAG topology β branching, merging, and multiple roots out of the box
- π§ Immutable
Stateβ states are never mutated;fork()creates children - ποΈ Hierarchical
Payloadβ dot-path read/update over nested data - π
Schemavalidation β payloads and updates validated at construction - β‘ Async execution β
AsyncNode+run_asyncfor I/O-bound steps - πͺ Step-wise runs β resumable, progress-hooked execution via
run_steps - π YAML pipelines β declare schema, nodes, and graph in one file (
load_pipeline)
π¦ Installation
From your internal PyPI:
From local source:
β‘ Quick Start
π Documentation Structure
| Section | Description |
|---|---|
| Overview | Architecture, lifecycle, and execution model decision table |
| Core Components | Validated reference for the public API surface |
| Use cases | Step-by-step recipes, grouped by theme |
| Β· Getting Started | |
| Β· 01 β Basic linear pipeline | Sequential multi-node pipeline |
| Β· 02 β Graph execution | Branching, merging, multiple roots |
| Β· 03 β YAML pipelines | Declarative pipelines via load_pipeline |
| Β· State & Data | |
| Β· 04 β Schema and payload | Nested schemas and dot-path access |
| Β· 05 β State fork and lineage | Immutability, lineage, confidence |
| Β· Async & Steps | |
| Β· 06 β Async execution | AsyncNode and run_async |
| Β· 07 β Step-wise execution | Resumable runs and progress hooks |
| Best Practices | Node design, state design, and gotchas |
| Error Handling | Library exceptions and where they surface |
| Testing | Mock-based quickstart |
π Related Resources
- Source Code: Gitea Repository
- Internal PyPI: pip.aetoskia.com/simple/dagpipe
- CI: Builds and publishes tagged releases, gated on black / ruff / mypy / pytest.
Β© Aetoskia Internal β dagpipe 0.0.1