skillfed

open-data-contract-standard

The Pydantic Model of the Open Data Contract Standard

open-data-contract-standard v3.1.2 1.4M downloads/30d#4,009 on PyPI19
Permissive license AGING released

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

uv

uv add open-data-contract-standard

poetry

poetry add open-data-contract-standard

Installing 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

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

open data contract standard pythondata contract yaml parserodcs pydantic modeldata contract specification readeryaml data contract loaderopen data contract validationdata contract serialization
data-contractsyaml-serializationdata-governance

More Database packages

psycopg2-binary

psycopg2-binary is a PostgreSQL database…

copyleft · top 1,000 on PyPI

redis

Python client library for connecting to and…

permissive · top 1,000 on PyPI

ydb

YDB Python SDK is the official client library…

permissive · top 1,000 on PyPI

snowflake-connector-python

Connects Python applications to Snowflake data…

permissive · top 1,000 on PyPI

sqlparse

sqlparse tokenizes SQL text into a tree of…

permissive · top 1,000 on PyPI

dbt-adapters

Provides base adapter protocols and shared…

permissive · top 1,000 on PyPI

datacontract-specification

Reads and writes YAML files conforming to the…

permissive · top 5,000 on PyPI

datacontract-cli

A CLI tool for defining, validating, and…

permissive · top 5,000 on PyPI

pydantic_yaml

Pydantic-YAML adds YAML serialization and…

permissive · top 5,000 on PyPI

openapi-schema-pydantic

Provides Pydantic classes that map to the…

permissive · top 5,000 on PyPI

pipelinewise-singer-python

Writes data in Singer format from Python,…

permissive · top 5,000 on PyPI

openjd-model

Parses, validates, and constructs Open Job…

permissive · top 15,000 on PyPI

openccu-loom-types

Provides generated Pydantic models and string…

permissive · top 15,000 on PyPI

openresponses-types

Provides Pydantic models for the OpenResponses…

permissive · top 15,000 on PyPI

openapi-pydantic

Provides Pydantic-based classes that implement…

permissive · top 1,000 on PyPI

aiopenapi3

Parses and validates OpenAPI 3 specifications…

permissive · top 15,000 on PyPI