odcs 0.7.0

Reference implementation of the Open Data Contract Standard (ODCS)
Documentation

odcs — Rust & Python reference implementation for ODCS

CI Crates.io PyPI Documentation License

odcs validates Open Data Contract Standard (ODCS) YAML/JSON files locally and in CI.

It checks that your contract document is well-formed and conforms to ODCS v3.1.0 — schema, quality rules, SLAs, ownership, and server metadata. It does not run quality checks against live data.

Release: 0.7.0 is on main and ready to publish. Push tag v0.7.0 to release to crates.io and PyPI. See Release status.

Install → validate in 60 seconds:

cargo install odcs   # or: pip install pyodcs
odcs validate contract.yaml

Until v0.7.0 is published, unpinned installs from crates.io/PyPI may serve 0.6.0. Pin 0.7.0 or install from source — see Release status.

New to ODCS? Read What is ODCS? first.

Upstream ODCS 3.1.0
Rust crate odcs
Python package pyodcs
Documentation odcs.readthedocs.io
Rust API docs docs.rs/odcs

Quick start

Save a minimal contract as contract.yaml:

version: "1.0.0"
apiVersion: "v3.1.0"
kind: "DataContract"
id: "hello-contract"
status: "draft"
schema:
  - name: customers
    properties:
      - name: customer_id
        logicalType: string
        required: true
odcs validate contract.yaml   # prints: valid

From code:

import pyodcs

report = pyodcs.parse_and_validate(open("contract.yaml", "rb").read(), format="yaml")
assert pyodcs.is_valid(report)

Full walkthrough: Getting started · Installation

Documentation

Full docs: odcs.readthedocs.io

I want to… Read
Learn what ODCS is What is ODCS?
Get started in 5 minutes Getting started
Install Rust or Python Installation
Choose the right API API decision guide
Use the CLI CLI
Integrate in CI/CD CI/CD
Fix validation errors Troubleshooting
Browse examples Examples
Contribute Contributing
Report a security issue SECURITY.md

Status: Alpha pre-1.0 — see ROADMAP.md and Release status.

This repository implements the standard; it is not the ODCS specification itself.

Pipeline

ODCS Document → Parser → Canonical Object Model → Validator → Diagnostics

Execution, pipeline composition, and transformation semantics are out of scope. See non-goals.

Contributing

See CONTRIBUTING.md. When implementation guidance conflicts with the upstream ODCS specification, the upstream specification wins.

License

Apache License 2.0. See LICENSE.