Skip to content

odcs documentation

Reference implementation of the Open Data Contract Standard (ODCS) — parse, validate, and inspect data contracts from Rust or Python.

Release

0.9.1 on main (0.9.0 published on crates.io and PyPI). 1.0.0 stabilization is complete on main, pending release tag and registry publish. See Release status.

Normative ODCS specification: bitol-io/open-data-contract-standard · Published spec site

New to ODCS? Start with What is ODCS?.

I want to…

Goal Start here
Learn what ODCS is What is ODCS?
Get started in 5 minutes Getting started
Install Rust or Python Installation
Use the CLI CLI
Use from Rust Rust
Use from Python Python
Choose the right API API decision guide
Author a contract Authoring contracts
Use local registry Local registry
Compare contract revisions Compatibility analysis
Integrate in CI/CD CI/CD integration
Understand error codes Diagnostics
Fix a broken contract Fix your first invalid contract
Troubleshoot issues Troubleshooting
Upgrade between versions Migration
Browse examples Examples
Evaluate for enterprise use Enterprise evaluation
Answer common questions FAQ
Contribute code Contributing
Check published vs main version Release status
Cut a release Releasing

User guides

Document Description
What is ODCS? Primer for newcomers
Getting started Five-minute quick start
Installation Install Rust, Python, from source
CLI CLI commands, flags, exit codes
Rust Rust API and library usage
Python Python API and CLI
API decision guide Which function to use when
Authoring contracts Write a minimal ODCS contract
Local registry Index and validate cross-file FQN references
Compatibility analysis Breaking-change diff
Diagnostics Diagnostic codes and JSON shape
CI/CD integration GitHub Actions and pre-commit
Migration Upgrade guide between releases
Troubleshooting Symptom → fix index
FAQ Frequently asked questions
Glossary ODCS and tool terminology

Project

Document Description
Release status Published vs main version
Changelog Release notes
Roadmap Reference implementation milestones
Upstream sync policy How this repo tracks the ODCS spec

Implementation guides

For contributors and maintainers building the Rust crate in src/:

Document Description
Implementation overview Implementation guide overview
Architecture Pipeline and module boundaries
Crate layout Module layout
Public API Public Rust API (maintainer reference)
API stability Semver policy for 1.0+
Local registry Registry index implementation
Cross-file references FQN resolution
Non-goals Out-of-scope features

Maintainer guides

Document Description
Releasing Release workflow (crates.io + PyPI)