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) |