ODCS — Open Data Contract Standard
Reference Rust implementation for the Open Data Contract Standard.
Status: Pre-release skeleton
Upstream ODCS version: 3.1.0
Reference implementation: 0.2.0 (Phase 1 — Skeleton)
See ROADMAP.md for milestone status.
Overview
SPEC.md defines the upstream specification policy for this repository. The published ODCS specification remains the normative standard; this crate provides an idiomatic Rust API, deterministic validation, diagnostics, and CLI tooling aligned with upstream semantics.
This repository contains:
| Path | Purpose |
|---|---|
| SPEC.md | Upstream specification policy and synchronization workflow |
| docs/ | Documentation index |
| docs/implementation/ | Reference implementation design and build guides |
| src/ | Rust crate source (odcs) |
| python/ | Python package source (pyodcs on PyPI) |
| examples/ | Sample ODCS data contracts |
| tests/ | Integration tests and fixtures |
| ROADMAP.md | Reference implementation milestones |
| .github/workflows/ | CI pipeline |
Ecosystem
ODCS defines what data is.
DTCS defines how data changes.
DPCS defines how transformations compose.
See docs/implementation/relationship-to-dtcs.md for positioning alongside DTCS.
Quick start
Build the Rust crate
Validate a contract
The reference implementation targets this pipeline:
ODCS Document → Parser → Canonical Object Model → Validator → Diagnostics
Execution, pipeline composition, and transformation semantics remain out of scope. See docs/implementation/non-goals.md.
Repository layout
odcs/
├── SPEC.md # Upstream specification policy
├── Cargo.toml # Rust crate manifest
├── pyproject.toml # Python package manifest (`pyodcs`, maturin)
├── README.md
├── CONTRIBUTING.md
├── LICENSE
├── docs/
│ ├── README.md # Documentation index
│ └── implementation/ # Reference implementation guides
├── examples/ # Example data contracts
├── python/ # Python package source (`pyodcs`)
├── src/ # Rust library, CLI binary, validation
├── tests/ # Integration tests and fixtures
└── .cursor/prompts/ # Cursor build prompt
Contributing
See CONTRIBUTING.md for implementation guidelines and the review process.
When implementation guidance conflicts with the upstream ODCS specification, the upstream specification wins. See docs/implementation/spec-usage.md.
License
Licensed under the Apache License, Version 2.0. See LICENSE.