DPCS
Reference implementation of the Data Pipeline Contract Standard (DPCS).
dpcs is a Rust-first toolkit for parsing, inspecting, and validating portable,
contract-first data pipeline definitions. The full specification lives in
SPEC.md and is the authoritative source of truth.
DPCS Document -> Parser -> Canonical Object Model -> Validator -> Diagnostics
Orchestrator binding, execution runtimes, and Airflow/Dagster/Prefect generation
are intentionally out of scope until roadmap 0.8.0. See ROADMAP.md.
Status
| Item | Value |
|---|---|
| Crate version | 0.2.0 |
| Spec version | 1.0.0-draft |
| Language | Rust 2021 (MSRV 1.85) |
| License | Apache-2.0 OR MIT |
| Release focus | Canonical Object Model (SPEC Ch 1–4) |
Quick start
Install
# or, after crates.io publish:
# cargo install dpcs --version 0.2.0
Validate a pipeline contract
Inspect and explore
Exit codes
| Code | Meaning |
|---|---|
0 |
Valid |
1 |
Validation errors |
2 |
Parse or I/O failure |
Library usage
use ;
Object-oriented style:
use PipelineContract;
let contract = from_yaml_file?;
let report = contract.validate;
assert!;
Repository layout
.
├── SPEC.md # Authoritative DPCS specification
├── ROADMAP.md # Release plan
├── src/
│ ├── model/ # Canonical Object Model
│ ├── parser/ # YAML and JSON parsers
│ ├── validation/ # Phase-based validation
│ ├── diagnostics/ # Deterministic diagnostics
│ ├── plan/ # Pipeline Plan skeleton
│ ├── capabilities/ # Capability model skeleton
│ ├── binding/ # Binding placeholder (future)
│ └── cli/ # CLI implementation
├── examples/ # Example contracts
├── tests/fixtures/ # Valid and invalid fixtures
├── docs/ # Design and contributor guides
└── adr/ # Architecture decision records
Development
Useful docs:
docs/ARCHITECTURE.mddocs/CRATE_LAYOUT.mddocs/PUBLIC_API.mddocs/CLI_SPEC.mddocs/TESTING_PLAN.mddocs/IMPLEMENTATION_PHASES.mddocs/NON_GOALS.md
Design principles
- SPEC.md is authoritative. Implementation follows the specification, not the other way around.
- Contract-first. Pipelines are portable declarations, not engine-specific DAGs.
- Deterministic diagnostics. Validation returns structured findings, never panics on invalid input.
- Incremental delivery. Each
0.xrelease completes a coherent slice of the roadmap.
Relationship to ODCS and DTCS
ODCS -> what data is
DTCS -> how data changes
DPCS -> how transformations compose into pipelines
DPCS references ODCS and DTCS artifacts through contract references. It does not re-implement those standards.
Contributing
See CONTRIBUTING.md and ROADMAP.md.
License
Licensed under either of:
- Apache License, Version 2.0 (
LICENSE-APACHE) - MIT license (
LICENSE-MIT)
at your option.