Data Quality Plane · Data Contracts

Data Contract CLI

Command-line tool for linting, testing and exporting data contracts.

Overview

The Data Contract CLI is the execution engine for data contracts: a command-line tool that lints contracts, connects to the data they describe, runs schema and quality tests against it, and exports to other formats.

It is the piece the Open Data Contract Standard deliberately leaves out. The standard defines the file; this checks reality against it.

A change of allegiance matters here. The standard is now the CLI's native internal model, and the tool's own Data Contract Specification has been deprecated in its favour, with support ending at the end of 2026.

It reads five versions of the standard, from 3.0.0 to 3.2.0, and still accepts the legacy specification for migration, though the documentation says new contracts should use the standard.

Testing connects to the servers block in the contract and verifies three things: properties, meaning presence, types and keys; quality rules; and the service levels the contract declares.

Execution engines are named rather than hidden, using ibis to compile dialect-specific SQL, plus DuckDB, Spark, native connections and a JSON validator.

Breaking changes are classified by severity rather than by version numbers, as error, warning or informational, with only an error making a comparison breaking, and the exit code set accordingly.

That makes it genuinely CI-shaped: non-zero exits, JSON or JUnit output, a published GitHub Action, a dry-run mode and result publishing to a URL.

Its import and export reach is the practical draw. Around thirty import sources bootstrap a contract from a schema you already have, and around thirty export targets generate dbt models, Avro, Protobuf, SQL, Terraform and more.

It is MIT licensed and free for commercial use. The commercial upsell is Entropy Data, from the same authors, whose pricing is not published.

Key features and capabilities

The same headings are used for every data contracts entry, so two tools can be read side by side.

What a contract covers
  • Whatever the standard covers, the CLI consumes, including schema, quality, service levels, servers and team
  • Testing verifies three categories, properties, quality rules and the declared service levels
  • Property checks cover presence, types, required and unique constraints, primary keys and logical type options
  • Semantics and ownership carry through into generated documentation rather than being enforced
  • Pricing and terms sections pass through to output but are not checked
Specification and format
  • Input is contract YAML, validated against the standard's JSON Schema
  • Five versions of the standard are supported, from 3.0.0 through 3.2.0
  • The legacy Data Contract Specification is read but deprecated, with support ending at the end of 2026
  • Breaking changes are classified by severity, error, warning or informational, rather than by semantic versioning
  • A comparison is breaking only when at least one entry is an error
How contracts are enforced
  • Testing connects to the servers block in the contract and runs schema and quality checks against live data
  • Named execution engines, ibis compiling per-dialect SQL, plus DuckDB, Spark and native connections
  • Credentials come from environment variables, loadable from a file, resolved at connection time
  • Failure is CI-shaped, with a non-zero exit, JSON or JUnit output and optional publishing to a URL
  • A dry-run mode plans checks without reading data, and a filter restricts row-level checks
Authoring and review workflow
  • Init scaffolds from an example, edit opens a web editor, and an Excel template is an alternative route
  • Import bootstraps a contract from an existing schema, so producers start from reality rather than a blank file
  • Review is Git-native, with a changelog between versions and a breaking check usable as a merge gate
  • Ownership is expressed in the contract's team and role fields
  • Scheduling is documented for Airflow and GitHub Actions
Tooling and validation
  • Linting against the standard's JSON Schema
  • Four quality rule types, custom SQL, portable library checks, human-readable text, and engine-specific checks
  • Around thirty export targets, including dbt models, Avro, Protobuf, JSON Schema, SQL, Terraform and Iceberg
  • Around thirty import sources, including Snowflake, BigQuery, Databricks, Glue, Unity Catalog and Power BI
  • A catalog command builds an HTML catalogue from a glob of contract files
Integrations
  • Testing references for Athena, BigQuery, Databricks, Postgres, Snowflake, Redshift, Trino, Kafka and more
  • dbt is first-class, with dedicated commands, three export flavours and an import
  • A published GitHub Action, a CI command and JUnit output
  • Catalogue reach through Unity Catalog and Glue import, Power BI import and RDF export
  • A published API, since the CLI can run as a web server
Where it runs and what it costs
  • Three shapes, a standalone CLI, a Python library, and a web server
  • Installed through uv, pip, pipx or Docker
  • Self-hosted by definition, running in your own CI or on your machine
  • No managed service for the CLI itself
  • The commercial managed option is Entropy Data, whose pricing is not published

Pricing

Open sourceFree, MIT licensed

Free under the MIT licence and explicitly free for commercial use, with no tiers, limits or licence keys. The commercial path is Entropy Data, from the same authors, which adds a web interface, access management and a data product marketplace, and publishes no pricing at all. One planning note rather than a cost one: if you still use the legacy Data Contract Specification, its support in this tool ends at the close of 2026, so budget for migrating those files to the Open Data Contract Standard.

Vendor pricing page →

Demos and videos

About Entropy Data

The CLI is maintained in its own GitHub organisation with Entropy Data as the commercial entity behind it, and Jochen Christ and Simon Harrer as its named authors; both now sit on the technical steering committee of the Open Data Contract Standard, so the tool and the standard are aligned rather than rivals. It is MIT licensed with around 159 contributors and no foundation backing, unlike the standard it implements. Entropy Data sells a managed platform adding a web interface, access management and a data product marketplace, with no published pricing. Note that datacontract.com itself has been repositioned from a specification home into a guide site.

Founded 2023 · datacontract.com

Other data contracts tools

Gable

Data Quality Plane · Data Contracts

Data contract platform that detects breaking data changes at the source, in code.

  • Commercial

Open Data Contract Standard

Data Quality Plane · Data Contracts

Open specification from the Bitol project for describing data contracts in YAML.

  • Open source

Drafted with AI assistance and checked against the vendor’s own documentation.