# Data Contract CLI > An open-source command-line tool for working with data contracts based on the Open Data Contract Standard (ODCS). This file contains links to documentation sections following the llmstxt.org standard. ## Table of Contents - [What is Data Contract CLI?](https://docs.datacontract.com/docs/intro.md): An open-source command-line tool for working with data contracts based on the Open Data Contract Standard (ODCS). - [Quickstart](https://docs.datacontract.com/docs/quickstart.md): Install the Data Contract CLI and test, export, and import your first data contract. - [Open Data Contract Standard](https://docs.datacontract.com/docs/open-data-contract-standard.md): The Data Contract CLI natively uses the Open Data Contract Standard (ODCS) as its contract format. - [Migrate from DCS to ODCS](https://docs.datacontract.com/docs/migrate-dcs-to-odcs.md): Convert a Data Contract Specification (datacontract.yaml) file to the Open Data Contract Standard with one command, and verify the conversion was l... - [Installation](https://docs.datacontract.com/docs/installation.md): Install the Data Contract CLI with uv, uvx, pip, pipx, or Docker, and choose the optional dependencies you need. - [Edit your contract](https://docs.datacontract.com/docs/editor.md): Author and edit data contracts visually with the bundled Data Contract Editor web UI. - [Test your Data](https://docs.datacontract.com/docs/testing/testing.md): Run schema and quality tests against your data source — Snowflake, BigQuery, Databricks, S3, Postgres, Kafka, and more. - [HTTP API](https://docs.datacontract.com/docs/testing/api.md): Create a data contract from a JSON HTTP API and test the responses against it (GET requests only). - [Amazon Athena](https://docs.datacontract.com/docs/testing/athena.md): Create a data contract from your Athena tables and test the actual data against it — in about 5 minutes. - [Azure Blob / ADLS](https://docs.datacontract.com/docs/testing/azure.md): Create a data contract from files on Azure Blob storage or ADLS Gen2 and test them against it. - [Google BigQuery](https://docs.datacontract.com/docs/testing/bigquery.md): Create a data contract from your BigQuery tables and test the actual data against it — in about 5 minutes. - [Databricks](https://docs.datacontract.com/docs/testing/databricks.md): Create a data contract from Unity Catalog and test the actual data against it — in about 5 minutes. - [Spark DataFrame](https://docs.datacontract.com/docs/testing/dataframe.md): Test in-memory Spark DataFrames in a pipeline (programmatic). - [Google Cloud Storage](https://docs.datacontract.com/docs/testing/gcs.md): Create a data contract from files on Google Cloud Storage and test them against it. - [Apache Impala](https://docs.datacontract.com/docs/testing/impala.md): Create a data contract from your Impala tables and test the actual data against it. - [Kafka](https://docs.datacontract.com/docs/testing/kafka.md): Create a data contract for a Kafka topic and test the messages against it (experimental). - [Local files](https://docs.datacontract.com/docs/testing/local.md): Test local files in Parquet, JSON, CSV, or Delta format — the fastest way to try the CLI, no credentials needed. - [MySQL](https://docs.datacontract.com/docs/testing/mysql.md): Create a data contract from your MySQL tables and test the actual data against it. - [Oracle](https://docs.datacontract.com/docs/testing/oracle.md): Create a data contract from your Oracle tables and test the actual data against it. - [Postgres](https://docs.datacontract.com/docs/testing/postgres.md): Create a data contract from your Postgres tables and test the actual data against it — in about 5 minutes. - [Amazon Redshift](https://docs.datacontract.com/docs/testing/redshift.md): Create a data contract from your Redshift tables and test the actual data against it — in about 5 minutes. - [Amazon S3](https://docs.datacontract.com/docs/testing/s3.md): Create a data contract from files in S3 and test them against it — in about 5 minutes. - [Snowflake](https://docs.datacontract.com/docs/testing/snowflake.md): Create a data contract from your Snowflake tables and test the actual data against it — in about 5 minutes. - [Microsoft SQL Server](https://docs.datacontract.com/docs/testing/sqlserver.md): Create a data contract from your SQL Server tables and test the actual data against it. - [Trino](https://docs.datacontract.com/docs/testing/trino.md): Create a data contract from your Trino tables and test the actual data against it. - [Define your Quality Rules](https://docs.datacontract.com/docs/quality-rules/quality-rules.md): Define and run data quality rules in a data contract using ODCS quality checks: SQL, library, text, and custom. - [Custom Quality Rules](https://docs.datacontract.com/docs/quality-rules/custom.md): Engine-specific quality checks expressed in the native syntax of an engine such as DQX, SodaCL, or Great Expectations. - [Library Quality Rules](https://docs.datacontract.com/docs/quality-rules/library.md): Predefined, portable quality checks such as rowCount, nullValues, duplicateValues, invalidValues, and missingValues. - [SQL Quality Rules](https://docs.datacontract.com/docs/quality-rules/sql.md): Run a custom SQL query against the data source and compare the result to an expected value or range. - [Text Quality Rules](https://docs.datacontract.com/docs/quality-rules/text.md): A human-readable quality expectation captured for documentation, not executed automatically. - [Imports](https://docs.datacontract.com/docs/imports/imports.md): Create a data contract from an existing schema such as SQL DDL, dbt, BigQuery, Glue, or Excel. - [Import: Azure Blob / ADLS](https://docs.datacontract.com/docs/imports/adls.md): Create a data contract from files in Azure Blob Storage. - [Import: Amazon Athena](https://docs.datacontract.com/docs/imports/athena.md): Create a data contract from an Amazon Athena database. - [Import: Avro](https://docs.datacontract.com/docs/imports/avro.md): Create a data contract from an Avro schema file. - [Import: BigQuery](https://docs.datacontract.com/docs/imports/bigquery.md): Create a data contract from BigQuery, via an exported JSON file or the BigQuery API. - [Import: CSV](https://docs.datacontract.com/docs/imports/csv.md): Create a data contract by inferring a schema from a CSV file. - [Import: Databricks](https://docs.datacontract.com/docs/imports/databricks.md): Create a data contract from Databricks Unity Catalog. - [Import: DBML](https://docs.datacontract.com/docs/imports/dbml.md): Create a data contract from a DBML file, with optional schema/table filters. - [Import: dbt](https://docs.datacontract.com/docs/imports/dbt.md): Create a data contract from a dbt manifest file. - [Import: Excel](https://docs.datacontract.com/docs/imports/excel.md): Create a data contract from an ODCS Excel template. - [Import: Google Cloud Storage](https://docs.datacontract.com/docs/imports/gcs.md): Create a data contract from files in Google Cloud Storage. - [Import: AWS Glue](https://docs.datacontract.com/docs/imports/glue.md): Create a data contract from the AWS Glue Data Catalog. - [Import: Iceberg](https://docs.datacontract.com/docs/imports/iceberg.md): Create a data contract from an Apache Iceberg schema. - [Import: JSON](https://docs.datacontract.com/docs/imports/json.md): Create a data contract by inferring a schema from a JSON data file. - [Import: JSON Schema](https://docs.datacontract.com/docs/imports/jsonschema.md): Create a data contract from a JSON Schema file. - [Import: MySQL](https://docs.datacontract.com/docs/imports/mysql.md): Create a data contract from a MySQL database. - [Import: ODCS](https://docs.datacontract.com/docs/imports/odcs.md): Create a data contract from an existing ODCS file. - [Import: Oracle](https://docs.datacontract.com/docs/imports/oracle.md): Create a data contract from an Oracle database. - [Import: Parquet](https://docs.datacontract.com/docs/imports/parquet.md): Create a data contract from a Parquet file. - [Import: Postgres](https://docs.datacontract.com/docs/imports/postgres.md): Create a data contract from a Postgres schema. - [Import: Power BI](https://docs.datacontract.com/docs/imports/powerbi.md): Create a data contract from a Power BI semantic model (.pbit, .bim, or .json). - [Import: Protobuf](https://docs.datacontract.com/docs/imports/protobuf.md): Create a data contract from a Protobuf schema file. - [Import: Amazon Redshift](https://docs.datacontract.com/docs/imports/redshift.md): Create a data contract from an Amazon Redshift schema. - [Import: Amazon S3](https://docs.datacontract.com/docs/imports/s3.md): Create a data contract from files in an S3 bucket. - [Import: Snowflake](https://docs.datacontract.com/docs/imports/snowflake.md): Create a data contract from a Snowflake workspace. - [Import: Spark](https://docs.datacontract.com/docs/imports/spark.md): Create a data contract from Spark tables or DataFrames (programmatic). - [Import: SQL DDL](https://docs.datacontract.com/docs/imports/sql.md): Create a data contract from a SQL DDL file. - [Import: SQL Server](https://docs.datacontract.com/docs/imports/sqlserver.md): Create a data contract from a SQL Server database. - [Import: Trino](https://docs.datacontract.com/docs/imports/trino.md): Create a data contract from a Trino catalog. - [Import: Unity Catalog](https://docs.datacontract.com/docs/imports/unity.md): Moved to Import: Databricks. - [Exports](https://docs.datacontract.com/docs/exports/exports.md): Convert a data contract to SQL DDL, dbt, Avro, JSON Schema, HTML, Protobuf, and 20+ other formats. - [Export: Avro IDL](https://docs.datacontract.com/docs/exports/avro-idl.md): Export a data contract to an Avro IDL (.avdl) schema definition. - [Export: Avro](https://docs.datacontract.com/docs/exports/avro.md): Export a data contract to an Avro schema, with custom logicalType and default support. - [Export: BigQuery](https://docs.datacontract.com/docs/exports/bigquery.md): Export a data contract to a BigQuery schema. - [Export: Custom (Jinja)](https://docs.datacontract.com/docs/exports/custom.md): Export a data contract to any format using a custom Jinja template. - [Export: Data Caterer](https://docs.datacontract.com/docs/exports/data-caterer.md): Export a data contract to a Data Caterer data-generation task. - [Export: DBML](https://docs.datacontract.com/docs/exports/dbml.md): Export a data contract to DBML (Database Markup Language) for diagrams and documentation. - [Export: dbt Models](https://docs.datacontract.com/docs/exports/dbt-models.md): Export a data contract to dbt model schema YAML. - [Export: dbt Sources](https://docs.datacontract.com/docs/exports/dbt-sources.md): Export a data contract to dbt sources YAML. - [Export: dbt Staging SQL](https://docs.datacontract.com/docs/exports/dbt-staging-sql.md): Export a data contract to a dbt staging SQL file. - [Export: DCS](https://docs.datacontract.com/docs/exports/dcs.md): Export a data contract to the DCS format. - [Export: DQX](https://docs.datacontract.com/docs/exports/dqx.md): Export a data contract to Databricks DQX checks. - [Export: Excel](https://docs.datacontract.com/docs/exports/excel.md): Export a data contract to an ODCS Excel template. - [Export: Go](https://docs.datacontract.com/docs/exports/go.md): Generate Go struct type definitions from a data contract's schema. - [Export: Great Expectations](https://docs.datacontract.com/docs/exports/great-expectations.md): Export a data contract to a Great Expectations suite. - [Export: HTML](https://docs.datacontract.com/docs/exports/html.md): Export a data contract to a standalone HTML page. - [Export: Iceberg](https://docs.datacontract.com/docs/exports/iceberg.md): Export a data contract to an Apache Iceberg schema. - [Export: JSON Schema](https://docs.datacontract.com/docs/exports/jsonschema.md): Export a data contract to a JSON Schema document for validating JSON data. - [Export: Markdown](https://docs.datacontract.com/docs/exports/markdown.md): Export a data contract to Markdown documentation. - [Export: Mermaid](https://docs.datacontract.com/docs/exports/mermaid.md): Export a data contract to a Mermaid diagram. - [Export: ODCS](https://docs.datacontract.com/docs/exports/odcs.md): Export a data contract to the Open Data Contract Standard (ODCS) format. - [Export: Protobuf](https://docs.datacontract.com/docs/exports/protobuf.md): Export a data contract to a Protobuf schema. - [Export: Pydantic Model](https://docs.datacontract.com/docs/exports/pydantic-model.md): Export a data contract to a Pydantic model. - [Export: RDF](https://docs.datacontract.com/docs/exports/rdf.md): Export a data contract to an RDF representation. - [Export: SodaCL](https://docs.datacontract.com/docs/exports/sodacl.md): Export a data contract to SodaCL checks. - [Export: Spark](https://docs.datacontract.com/docs/exports/spark.md): Export a data contract to a Spark StructType schema. - [Export: SQL Query](https://docs.datacontract.com/docs/exports/sql-query.md): Export a data contract to a SQL SELECT query. - [Export: SQL DDL](https://docs.datacontract.com/docs/exports/sql.md): Convert a data contract into a SQL data definition language (DDL) file. - [Export: SQLAlchemy](https://docs.datacontract.com/docs/exports/sqlalchemy.md): Export a data contract to SQLAlchemy models. - [Data Source Reference](https://docs.datacontract.com/docs/reference/reference.md): Authentication options and data type mappings for every data source supported by the Data Contract CLI. - [HTTP API Reference](https://docs.datacontract.com/docs/reference/api.md): All HTTP API authentication options and data type handling. - [Amazon Athena Reference](https://docs.datacontract.com/docs/reference/athena.md): All Athena authentication options and data type handling. - [Azure Blob / ADLS Reference](https://docs.datacontract.com/docs/reference/azure.md): All Azure storage authentication options and data type handling. - [Google BigQuery Reference](https://docs.datacontract.com/docs/reference/bigquery.md): All BigQuery authentication options and data type mappings. - [Databricks Reference](https://docs.datacontract.com/docs/reference/databricks.md): All Databricks authentication options and data type mappings. - [Spark DataFrame Reference](https://docs.datacontract.com/docs/reference/dataframe.md): Data type mappings for in-memory Spark DataFrames. - [Google Cloud Storage Reference](https://docs.datacontract.com/docs/reference/gcs.md): All GCS authentication options and data type handling. - [Apache Impala Reference](https://docs.datacontract.com/docs/reference/impala.md): All Impala authentication options and data type handling. - [Kafka Reference](https://docs.datacontract.com/docs/reference/kafka.md): All Kafka authentication options and data type mappings. - [Local Files Reference](https://docs.datacontract.com/docs/reference/local.md): Data type handling for local CSV, JSON, Parquet, and Delta files. - [MySQL Reference](https://docs.datacontract.com/docs/reference/mysql.md): All MySQL authentication options and data type mappings. - [Oracle Reference](https://docs.datacontract.com/docs/reference/oracle.md): All Oracle authentication options and data type mappings. - [Postgres Reference](https://docs.datacontract.com/docs/reference/postgres.md): All Postgres authentication options and data type mappings. - [Amazon Redshift Reference](https://docs.datacontract.com/docs/reference/redshift.md): All Redshift authentication options and data type mappings. - [Amazon S3 Reference](https://docs.datacontract.com/docs/reference/s3.md): All S3 authentication options and data type handling for files on S3. - [Snowflake Reference](https://docs.datacontract.com/docs/reference/snowflake.md): All Snowflake authentication options and data type mappings. - [Microsoft SQL Server Reference](https://docs.datacontract.com/docs/reference/sqlserver.md): All SQL Server authentication options and data type mappings. - [Trino Reference](https://docs.datacontract.com/docs/reference/trino.md): All Trino authentication options and data type handling. - [Commands](https://docs.datacontract.com/docs/commands/commands.md): Reference for every Data Contract CLI command. - [api](https://docs.datacontract.com/docs/commands/api.md): Start the CLI as a web server with a REST API. - [catalog](https://docs.datacontract.com/docs/commands/catalog.md): Create an HTML catalog of data contracts. - [changelog](https://docs.datacontract.com/docs/commands/changelog.md): Show a changelog between two data contracts. - [ci](https://docs.datacontract.com/docs/commands/ci.md): Run tests for CI/CD pipelines with annotations and summaries. - [dbt](https://docs.datacontract.com/docs/commands/dbt.md): Generate dbt tests from a contract and run them. - [edit](https://docs.datacontract.com/docs/commands/edit.md): Edit a data contract in the Data Contract Editor (web UI). - [export](https://docs.datacontract.com/docs/commands/export.md): Convert a data contract to a target format. - [import](https://docs.datacontract.com/docs/commands/import.md): Create a data contract from a source format. - [init](https://docs.datacontract.com/docs/commands/init.md): Create a new data contract file from a built-in template or an existing contract to start from. - [lint](https://docs.datacontract.com/docs/commands/lint.md): Validate that the data contract is correctly formatted. - [publish](https://docs.datacontract.com/docs/commands/publish.md): Publish a data contract to Entropy Data. - [test](https://docs.datacontract.com/docs/commands/test.md): Run schema and quality tests on configured servers. - [Python Library](https://docs.datacontract.com/docs/python-library.md): Use the Data Contract CLI programmatically as a Python library to test, export, import, lint, and compare data contracts. - [Adopting Data Contracts](https://docs.datacontract.com/docs/best-practices.md): Best practices for rolling out data contracts across a team: the data-first and contract-first approaches. - [Sync with dbt](https://docs.datacontract.com/docs/dbt.md): Sync a data contract's schema and tests into your dbt project with datacontract dbt sync, then run them with datacontract dbt test. - [API](https://docs.datacontract.com/docs/api.md): Run the Data Contract CLI as a web server exposing a REST API for testing, linting, and exporting. - [Extending the CLI](https://docs.datacontract.com/docs/extending.md): Register custom exporters and importers to add new output and input formats to the Data Contract CLI. - [Release Notes](https://docs.datacontract.com/docs/release-notes.md): What changed in every release of the Data Contract CLI — new importers, exporters, data sources, and fixes, newest first. - [Scheduling and CI/CD](https://docs.datacontract.com/docs/ci-cd.md): Run data contract tests continuously — in CI/CD on every change and on a daily schedule — to catch data drift before your consumers do. - [Comparison with other Tools](https://docs.datacontract.com/docs/comparison.md): How the Data Contract CLI compares to Great Expectations (GX Core), Soda Core, and dbt contracts — license, governance, contract format, and scope. - [Integrate with Entropy Data](https://docs.datacontract.com/docs/entropy-data.md): Publish data contract test results to Entropy Data, a commercial platform for managing data contracts.