open-data-contract-standard
The Pydantic Model of the Open Data Contract Standard
What it is and what it does
This package provides a Pydantic model for the Open Data Contract Standard, a specification for describing data contracts in YAML. It lets you load data contract YAML files into Python objects and serialize them back to YAML, with version tracking that mirrors the Open Data Contract Standard specification versions (3.0.1, 3.0.2, 3.1.0, etc.). The package was extracted from the Data Contract CLI, which remains its primary consumer.
You use it by importing the OpenDataContractStandard model, then calling from_file() or from_string() to parse a contract, and to_yaml() to serialize it back. It depends on pydantic for validation and pyyaml for YAML handling, and requires Python 3.10 or later.
Use it for:
- Load and validate data contract YAML files in a Python application that manages data governance or contracts
- Programmatically construct or modify data contract objects and serialize them back to YAML
- Integrate data contract handling into custom tooling that extends or wraps the Data Contract CLI
- Parse data contracts to extract metadata for documentation, lineage, or compliance tracking systems
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Reads and writes YAML files conforming to the Open Data Contract Standard using Pydantic models, enabling programmatic access to data contract specifications.
Yes, if you need to work with Open Data Contract Standard files in Python. Install friction is low, dependencies are minimal and well-established, and the license is permissive. The aging maintenance status (240 days since last release) is a minor concern but not a blocker—the package is stable and has no known vulnerabilities. Use it when you're building tools that consume or produce ODCS-compliant contracts.
Install
open-data-contract-standard on PyPI
pip
pip install open-data-contract-standarduv
uv add open-data-contract-standardpoetry
poetry add open-data-contract-standardInstalling open-data-contract-standard
Before you install
Low install friction with only two runtime dependencies (pydantic and pyyaml). Maintenance status is aging—last release was 240 days ago, though the repository remains active and not archived.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install open-data-contract-standard
from open_data_contract_standard.model import OpenDataContractStandard
data_contract = OpenDataContractStandard.from_file('path/to/data_contract.yaml')
print(data_contract.to_yaml())
Requires Python 3.10 or later.
Verify before relying
- Whether the package is actively maintained or in maintenance-only mode given the 240-day gap since last release
- Real-world adoption beyond the Data Contract CLI (its primary user) and whether community support exists
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — pydantic, pyyaml |
| Maintenance | aging — 240 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,353,825/month — #4,009 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: open_data_contract_standard-3.1.2-py3-none-any.whl
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
datacontract-specificationReads and writes YAML files conforming to the…
permissive · top 5,000 on PyPI
datacontract-cliA CLI tool for defining, validating, and…
permissive · top 5,000 on PyPI
pydantic_yamlPydantic-YAML adds YAML serialization and…
permissive · top 5,000 on PyPI
openapi-schema-pydanticProvides Pydantic classes that map to the…
permissive · top 5,000 on PyPI
pipelinewise-singer-pythonWrites data in Singer format from Python,…
permissive · top 5,000 on PyPI
openjd-modelParses, validates, and constructs Open Job…
permissive · top 15,000 on PyPI
openccu-loom-typesProvides generated Pydantic models and string…
permissive · top 15,000 on PyPI
openresponses-typesProvides Pydantic models for the OpenResponses…
permissive · top 15,000 on PyPI
openapi-pydanticProvides Pydantic-based classes that implement…
permissive · top 1,000 on PyPI
aiopenapi3Parses and validates OpenAPI 3 specifications…
permissive · top 15,000 on PyPI