datacontract-cli

View on PyPIReverse Dependencies (3)

0.10.23 datacontract_cli-0.10.23-py3-none-any.whl

Wheel Details

Project: datacontract-cli
Version: 0.10.23
Filename: datacontract_cli-0.10.23-py3-none-any.whl
Download: [link]
Size: 192501
MD5: 18ff09a8030079af1215c565280017e8
SHA256: 12c34dc553ee647618922f6601308eb063c7f7d2cea996faa20f08a35b276022
Uploaded: 2025-03-03 11:40:20 +0000

dist-info

METADATA

Metadata-Version: 2.2
Name: datacontract-cli
Version: 0.10.23
Summary: The datacontract CLI is an open source command-line tool for working with Data Contracts. It uses data contract YAML files to lint the data contract, connect to data sources and execute schema and quality tests, detect breaking changes, and export to different formats. The tool is written in Python. It can be used as a standalone CLI tool, in a CI/CD pipeline, or directly as a Python library.
Author-Email: Jochen Christ <jochen.christ[at]innoq.com>, Stefan Negele <stefan.negele[at]innoq.com>, Simon Harrer <simon.harrer[at]innoq.com>
Project-Url: Homepage, https://cli.datacontract.com
Project-Url: Issues, https://github.com/datacontract/datacontract-cli/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Requires-Dist: typer (<0.16,>=0.15.1)
Requires-Dist: pydantic (<2.11.0,>=2.8.2)
Requires-Dist: pyyaml (~=6.0.1)
Requires-Dist: requests (<2.33,>=2.31)
Requires-Dist: fastjsonschema (<2.22.0,>=2.19.1)
Requires-Dist: fastparquet (<2025.0.0,>=2024.5.0)
Requires-Dist: numpy (<2.0.0,>=1.26.4)
Requires-Dist: python-multipart (==0.0.20)
Requires-Dist: rich (<13.10,>=13.7)
Requires-Dist: sqlglot (<27.0.0,>=26.6.0)
Requires-Dist: duckdb (<2.0.0,>=1.0.0)
Requires-Dist: soda-core-duckdb (<3.5.0,>=3.3.20)
Requires-Dist: setuptools (>=60)
Requires-Dist: python-dotenv (~=1.0.0)
Requires-Dist: boto3 (<1.36.12,>=1.34.41)
Requires-Dist: Jinja2 (>=3.1.5)
Requires-Dist: jinja_partials (>=0.2.1)
Requires-Dist: avro (==1.12.0); extra == "avro"
Requires-Dist: soda-core-bigquery (<3.4.0,>=3.3.20); extra == "bigquery"
Requires-Dist: clevercsv (>=0.8.2); extra == "csv"
Requires-Dist: pandas (>=2.0.0); extra == "csv"
Requires-Dist: soda-core-spark-df (<3.4.0,>=3.3.20); extra == "databricks"
Requires-Dist: soda-core-spark[databricks] (<3.4.0,>=3.3.20); extra == "databricks"
Requires-Dist: databricks-sql-connector (<3.8.0,>=3.7.0); extra == "databricks"
Requires-Dist: databricks-sdk (<0.45.0); extra == "databricks"
Requires-Dist: pyiceberg (==0.8.1); extra == "iceberg"
Requires-Dist: datacontract-cli[avro]; extra == "kafka"
Requires-Dist: soda-core-spark-df (<3.4.0,>=3.3.20); extra == "kafka"
Requires-Dist: soda-core-postgres (<3.4.0,>=3.3.20); extra == "postgres"
Requires-Dist: s3fs (==2025.2.0); extra == "s3"
Requires-Dist: aiobotocore (<2.20.0,>=2.17.0); extra == "s3"
Requires-Dist: snowflake-connector-python[pandas] (<3.14,>=3.6); extra == "snowflake"
Requires-Dist: soda-core-snowflake (<3.5.0,>=3.3.20); extra == "snowflake"
Requires-Dist: soda-core-sqlserver (<3.4.0,>=3.3.20); extra == "sqlserver"
Requires-Dist: soda-core-trino (<3.4.0,>=3.3.20); extra == "trino"
Requires-Dist: dbt-core (>=1.8.0); extra == "dbt"
Requires-Dist: pydbml (>=1.1.1); extra == "dbml"
Requires-Dist: pyarrow (>=18.1.0); extra == "parquet"
Requires-Dist: rdflib (==7.0.0); extra == "rdf"
Requires-Dist: fastapi (==0.115.8); extra == "api"
Requires-Dist: uvicorn (==0.34.0); extra == "api"
Requires-Dist: datacontract-cli[api,bigquery,csv,databricks,dbml,dbt,iceberg,kafka,parquet,postgres,rdf,s3,snowflake,sqlserver,trino]; extra == "all"
Requires-Dist: datacontract-cli[all]; extra == "dev"
Requires-Dist: httpx (==0.28.1); extra == "dev"
Requires-Dist: kafka-python; extra == "dev"
Requires-Dist: moto (==5.0.27); extra == "dev"
Requires-Dist: pandas (>=2.1.0); extra == "dev"
Requires-Dist: pre-commit (<4.1.0,>=3.7.1); extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: pymssql (==2.3.2); extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: testcontainers[kafka,minio,mssql,postgres] (==4.9.0); extra == "dev"
Requires-Dist: trino (==0.332.0); extra == "dev"
Provides-Extra: avro
Provides-Extra: bigquery
Provides-Extra: csv
Provides-Extra: databricks
Provides-Extra: iceberg
Provides-Extra: kafka
Provides-Extra: postgres
Provides-Extra: s3
Provides-Extra: snowflake
Provides-Extra: sqlserver
Provides-Extra: trino
Provides-Extra: dbt
Provides-Extra: dbml
Provides-Extra: parquet
Provides-Extra: rdf
Provides-Extra: api
Provides-Extra: all
Provides-Extra: dev
Description-Content-Type: text/markdown
License-File: LICENSE
[Description omitted; length: 89835 characters]

WHEEL

Wheel-Version: 1.0
Generator: setuptools (75.8.2)
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
datacontract/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
datacontract/api.py sha256=qZJr8I5MI4wZlvjUEAvqna9Xj5Ic2GCBxSyogBlKEbE 8166
datacontract/cli.py sha256=7jvwNDLe4TqaegpPiNOjMeHIg2qFxK6AGBWUkzqH7AM 16880
datacontract/data_contract.py sha256=H9ogUTj41javVW8gcLWYDKZDJMJQHyc_Q4LxLqFrRoo 10686
datacontract/py.typed sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
datacontract/breaking/breaking.py sha256=DnqgxUjD-EAZcg5RBizOP9a2WxsFTaQBik0AB_m3K00 20431
datacontract/breaking/breaking_change.py sha256=BIDEUo1U2CQLVT2-I5PyFttxAj6zQPI1UUkEoOOQXMY 2249
datacontract/breaking/breaking_rules.py sha256=M9IdzVJSA7oOr1fvLQl0y9MoBKeItPz42Db2U2cjH2Y 4063
datacontract/catalog/catalog.py sha256=wmv_2BBxHhNBlilAmQHHhNe4tK14DowkyIOVaQW2DWU 2691
datacontract/engines/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
datacontract/engines/data_contract_checks.py sha256=wjnKh1FxG9qXB1zOPjrGmjW7uCpRsxXICMIvyFwpVt4 26622
datacontract/engines/data_contract_test.py sha256=8TUpKKausMcOoM_7PX_cqjHK_WKsvSvy09SwvJmJoOM 2855
datacontract/engines/datacontract/check_that_datacontract_contains_valid_servers_configuration.py sha256=zrDn-_EJJ5kv0kZWAA-toeEPuBd3YQ0-U7Jb8euNUS8 1558
datacontract/engines/datacontract/check_that_datacontract_file_exists.py sha256=Vw-7U0GmQT2127tybxggZfpRFiZVgoIh6ndkTGM0FP4 665
datacontract/engines/fastjsonschema/check_jsonschema.py sha256=-knTZ-NsHpBWCoR7r1JP5iYSWx697mugijmqUPx0pEY 10307
datacontract/engines/fastjsonschema/s3/s3_read_files.py sha256=vuz_hLF2VD8LR_prjQpPLBU8Is-iHLAvqp4KwclOv9I 1157
datacontract/engines/soda/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
datacontract/engines/soda/check_soda_execute.py sha256=ve7Td5uy3ZvVyM5H3xz3ndsP-vYK8RP6j8PiSRi26Hs 8295
datacontract/engines/soda/connections/bigquery.py sha256=C-8kxmzpYe88bJp80ObHFLMh4rpnIjnUQ7XOj0Ke7lk 903
datacontract/engines/soda/connections/databricks.py sha256=cMRasuO0MrSKVgHPB-9uFTGTZPFg6z9Kpk3tJ0SdR0s 943
datacontract/engines/soda/connections/duckdb_connection.py sha256=_usG-Ci7FaAdEsU3_70zUVGVQlqvVpupP44RYZOa6AE 6772
datacontract/engines/soda/connections/kafka.py sha256=j6I9loXixzaV-SU56dIodCykPDAnWnsNRfKG4wOtzvs 8570
datacontract/engines/soda/connections/postgres.py sha256=9GTF4Es3M5vb7ocSGqAxXmslvkS5CjsPQGIuo020CFc 626
datacontract/engines/soda/connections/snowflake.py sha256=rfG2ysuqNM6TkvyqQKcGHFsTGJ6AROmud5VleUDRrb0 749
datacontract/engines/soda/connections/sqlserver.py sha256=RzGLbCUdRyfmDcqtM_AB9WZ-Xk-XYX91nkXpVNpYbvc 1440
datacontract/engines/soda/connections/trino.py sha256=JvKUP9aFg_n095oWE0-bGmfbETSWEOURGEZdQuG8txA 718
datacontract/export/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
datacontract/export/avro_converter.py sha256=gPPSPSoQaHMMg9iOfiywt1IMYEsuTu8kCYWrSa7PJNs 4626
datacontract/export/avro_idl_converter.py sha256=SGO7JfI9UGXLYFR5wMGNUH1qf6kt9lF6dUU9roVqnFo 9878
datacontract/export/bigquery_converter.py sha256=VSBdVGWrlar18ETzgNArxDzk8Zt5JcAc_wKjfwLpG_A 4734
datacontract/export/csv_type_converter.py sha256=ZZuJwBgQnafZC7PPvAXsBf2IajPJq8TYZ1l8Qq0GYeI 1290
datacontract/export/custom_converter.py sha256=xb8KbkRRgHmT4ewwC7XxtnKpe_ZMSJWBjYOaKjmO_KQ 1216
datacontract/export/data_caterer_converter.py sha256=eSEuy3TbqUIG_lHYEBOydAgp_CJNoGArXrcJvh81wcw 5984
datacontract/export/dbml_converter.py sha256=f_OZEFwRUyL-Kg2yn_G58I8iz1VfFrZh8Nbw3Wq0JDo 4777
datacontract/export/dbt_converter.py sha256=_CpRg3BD6UZvJJUMI4lzdiQj136rOjvXYVBMHvxEYqs 10548
datacontract/export/dcs_exporter.py sha256=RALQ7bLAjak7EsoFFL2GFX2Oju7pnCDPCdRN_wo9wHM 210
datacontract/export/exporter.py sha256=XrNmoIH_5Myb8jx-vaS1ZCF11RTw5zf5JATkqXWunXE 3025
datacontract/export/exporter_factory.py sha256=0XmU51fQNZVQdC78gDy_82CatazhioMmcd6qdCl8muU 5847
datacontract/export/go_converter.py sha256=Ttvbfu3YU-3GBwRD6nwCsFyZuc_hiIvJD-Jg2sT5WLw 3331
datacontract/export/great_expectations_converter.py sha256=zMaHaj5DLj_Q_q-iFEa7EZHW-qHdFMxWL4MiMIFKV80 10505
datacontract/export/html_export.py sha256=ojazWrb0AwSc7Vr72M_otMo-3PA8mfi8tfIy9BCXk9o 2578
datacontract/export/iceberg_converter.py sha256=ArcQ_Y3z_W4_kGDU_8jPRx2-pHpP3Nhx1zYoETOL3c4 6804
datacontract/export/jsonschema_converter.py sha256=2MT82MurcQQbrVDRj1kFsxnmFd9scNSfYI1upQSecl4 5631
datacontract/export/markdown_converter.py sha256=chtaZX4vXTee7JCMYmWiDQ9m55gwJjHPw6SEM3UOwpQ 6467
datacontract/export/odcs_v3_exporter.py sha256=w8PGyTczrZrRMKye_onYZCpB47OM0pEJCt5WIum2O5U 13130
datacontract/export/pandas_type_converter.py sha256=464pQ3JQKFQa1TO0HBNcEoZvQye_yUbY6jQtiBaphSc 1117
datacontract/export/protobuf_converter.py sha256=9K0fzBGbqlj9AhQumw2oq53hyn_QDCT3UlyH2uXJdC0 3192
datacontract/export/pydantic_converter.py sha256=1Lt9F8i6zyQYb44MyQtsXwCWWXYxZ47SmzArr_uPqsU 5579
datacontract/export/rdf_converter.py sha256=4gnKus37Geth4MJ3Ruc8AbnpD_Ll9OCx8oTIEKScvh8 6435
datacontract/export/sodacl_converter.py sha256=lQCOcNiT7i6KGaJ1Ua4MYBYGm-EyktTGrL4FLZDi14c 1102
datacontract/export/spark_converter.py sha256=-6P2_VRFqGfSF7n_lJcD-fuY9Pv8qoH-ud6g8Zimpz4 7190
datacontract/export/sql_converter.py sha256=BGjmOAlzB5QfzJiXP61ajV0wj4M5oJrmNZZe_4Lo1Ik 4821
datacontract/export/sql_type_converter.py sha256=qjm8Fdyihq3VBL4x2D7RHdWoOm6HWIJe28U4XboYCk8 13436
datacontract/export/sqlalchemy_converter.py sha256=0DMncvA811lTtd5q4ZORREQ9YH1vQm1lJeqMWsFvloE 6463
datacontract/export/terraform_converter.py sha256=ExFoEvErVk-gBnWJiqC38SxDUmUEydpACWc917l5RyM 2163
datacontract/imports/avro_importer.py sha256=hpGvO6uv2zcupJC8-wC-c-vbjNb83IQ560a5F3MsEFA 9937
datacontract/imports/bigquery_importer.py sha256=7TcP9FDsIas5LwJZ-HrOPXZ-NuR056sxLfDDh3vjo8E 8419
datacontract/imports/csv_importer.py sha256=NT9N9kOSZe6YSJVsYOKF9-d7fqih3Q1zssQzem0finM 2921
datacontract/imports/dbml_importer.py sha256=o0IOgvXN34lU1FICDHm_QUTv0DKsgwbHPHUDxQhIapE 3872
datacontract/imports/dbt_importer.py sha256=hQwqD9vbvwLLc6Yj3tQbar5ldI0pV-ynSiz7CZZ0JCc 8290
datacontract/imports/glue_importer.py sha256=fiJPkvfwOCsaKKCGW19-JM5CCGXZ2mkNrVtUzp2iw6g 8370
datacontract/imports/iceberg_importer.py sha256=vadGJVqQKgG-j8swUytZALFB8QjbGRqZPCcPcCy0vco 5923
datacontract/imports/importer.py sha256=X4M0SZiRQsz8TGm-FSRuh6bs6qny7V8odyQ7l_1DwNg 876
datacontract/imports/importer_factory.py sha256=8ed9-ceJlFMf-AIAyuI6Uzs05CqEs1nPlLA-tvfI0bU 3639
datacontract/imports/jsonschema_importer.py sha256=67H__XLugV4vguHrIqzW02dtx27zYTWnOms4D1ma3bk 4961
datacontract/imports/odcs_importer.py sha256=vv2dHLGL0Cdivv1CdKn5euJwGNKmiZmXCoxUYAXsHX8 2126
datacontract/imports/odcs_v3_importer.py sha256=ev-qvtbRsG52I--We15P3T_OB7mvS7Zj9-6MOI-8vUQ 13061
datacontract/imports/parquet_importer.py sha256=W_0_16mX4stwDUt4GM2L7dnGmTpAySab5k13-OlTCCc 3095
datacontract/imports/spark_importer.py sha256=h2na1YtdJYu9Oz07tSvwx8L4RX6aLCCDVkAv-RTKyVA 5100
datacontract/imports/sql_importer.py sha256=ElFS2LILDOvWzW-X4emSIKltFV42i78TEoyg0bvn3II 9322
datacontract/imports/unity_importer.py sha256=UcPYABhLZaWNl5IkCazwAuMoVDdujsu_QteuV_Q9hgI 6737
datacontract/init/init_template.py sha256=BMawR-AF_vXyn_-Co-XoT8Dxj9b55V8xKk2KkJK-c1o 721
datacontract/integration/datamesh_manager.py sha256=6_mHRQAqw-KCfVtejNxULN4ihBZTZikf_5p0pYHer7g 2849
datacontract/lint/files.py sha256=tg0vq_w4LQsEr_8A5qr4hUJmHeGalUpsXJXC1t-OGC0 471
datacontract/lint/lint.py sha256=Ew0n3ooXxmCVnUxJ_cDoacsD82QdMZYnKrxnG9J0sWQ 5077
datacontract/lint/resolve.py sha256=58Z48Bkkjl4QWLNA3sPvqjh46sh1KQGgUzo3cG1BQvI 11431
datacontract/lint/resources.py sha256=nfeZmORh1aP7EKpMKCmfbS04Te8pQ0nz64vJVkHOq3c 647
datacontract/lint/schema.py sha256=4pYX6JX6SkASftyqaWTodKFRVPi2qV0_Z60tvaCOk80 1813
datacontract/lint/urls.py sha256=giac0eAYa6hha8exleL3KsiPtiFlOq8l53axtAmCilw 2529
datacontract/lint/linters/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
datacontract/lint/linters/description_linter.py sha256=7fla7FQwDa-1UrLFCFKFoeUzkR91e4o9W6ySKSW6_U8 1555
datacontract/lint/linters/field_pattern_linter.py sha256=lreGvOW3v_Glah_SriVe9ejZ7EuR6_gJsdr2tEORB_8 1084
datacontract/lint/linters/field_reference_linter.py sha256=65GnbBtazn55dXslujOho3YIHCwNy9DDp0m56pNMkUk 2021
datacontract/lint/linters/notice_period_linter.py sha256=6r413aEVOVHWJHb33-68ecVTAUNzbxL4me6ebmPcgpE 2130
datacontract/lint/linters/quality_schema_linter.py sha256=ZXFHlMLFV1GZejizbUdfW6-msffFECoDGNsdynaPnog 2182
datacontract/lint/linters/valid_constraints_linter.py sha256=qTFh1X3I9wOtAxuXlvbGesCQ3GQ6iWc-MT_ttIybRsw 4916
datacontract/model/data_contract_specification.py sha256=1bEE7hQJEjzoL4XtCQBmPe6VWclU_D_YiUJW2oNRNos 8655
datacontract/model/exceptions.py sha256=5BMuEH2qWuckNP4FTfpUEeEu6rjgGcLOD0GQugKRQ1U 1242
datacontract/model/odcs.py sha256=9PXwm72FASjNwteF1Jn591iP3-St0aq16Cpsk0PkEW8 389
datacontract/model/run.py sha256=2HTISHW6gvu7NTke76hLw4wkH_kQAig9Z176OuttYSA 3004
datacontract/output/junit_test_results.py sha256=hAT7UgxwbfNzA0f5uuGzM4OIwLfXbmA4dgsfxsclWh0 4822
datacontract/output/output_format.py sha256=_ZokDBo7-HXBs6czUv7kLLf9cYft_q5QaKzthsVnc58 212
datacontract/output/test_results_writer.py sha256=PWNLs3R_LQMH4xp5WDxLkQgY3xvj8Eyzw1jnfgkQxlc 2713
datacontract/schemas/datacontract-1.1.0.init.yaml sha256=_WQX6NRwimXlPVKcKeHLd4mFL0TJ2vYH0WnyMXZeQ8Y 1828
datacontract/schemas/datacontract-1.1.0.schema.json sha256=3Bu2rxEjkF6dNLcqi1GF4KoXBnEIopaJ87Qb8S4zUvg 62872
datacontract/schemas/odcs-3.0.1.schema.json sha256=bRZsSXA0fV0EmV_8f1K68PlXu1m4K7JcuHpLnY3ESwQ 72933
datacontract/templates/datacontract.html sha256=9rm5hLkST8EnOFwj0al9c0xPajzlyWlnfxT2iicSRCM 15179
datacontract/templates/index.html sha256=nyi9nrEsSPuOrXszKzqkqwZGveXsdy1PLJp2g9oDw0A 12517
datacontract/templates/partials/datacontract_information.html sha256=7ZBxgEgi2XndKBypeOpe03oCSRPOujC6NVlN7zexGNM 6221
datacontract/templates/partials/datacontract_servicelevels.html sha256=ed3QgB11B0Qq2h_NwaroGZ4pQMBPEhfeQaoS-qEipqY 11401
datacontract/templates/partials/datacontract_terms.html sha256=1cnJcOTpxwot2BCuZmkLF_SPfiVloLs3c8mj9WfE4sc 1865
datacontract/templates/partials/definition.html sha256=gZEmNvwNGGxA_Fnzx_0L6tXlAMk_EAPWr5ziRIThb_o 1005
datacontract/templates/partials/example.html sha256=F1dWbHDIXQScgfs4OVgqM1lR4uV4xX5j6suasXHNM88 1204
datacontract/templates/partials/model_field.html sha256=2YBF95ypNCPFYuYKoeilRnDG-H_FuW4JK1znkCaYCac 7625
datacontract/templates/partials/quality.html sha256=ynEDWRn8I90Uje-xhGYgFcfwOgKI1R-CDki-EvTsauQ 1785
datacontract/templates/partials/server.html sha256=WkWFbz1ZvhIAUQQhH5Lkwb0HZRW907ehEnFmJSkpquQ 6235
datacontract/templates/style/output.css sha256=V1k6smSvlz07W2UNOkhcDFUb0HLmoas7DnNg_o8XUcA 25759
datacontract_cli-0.10.23.dist-info/LICENSE sha256=23h64qnSeIZ0DKeziWAKC-zBCt328iSbRbWBrXoYRb4 2210
datacontract_cli-0.10.23.dist-info/METADATA sha256=ls0fDH5tDEJLo2F1qkl2I0_jZJJHr1U6quP_nEE2QVw 102825
datacontract_cli-0.10.23.dist-info/WHEEL sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM 91
datacontract_cli-0.10.23.dist-info/entry_points.txt sha256=D3Eqy4q_Z6bHauGd4ppIyQglwbrm1AJnLau4Ppbw9Is 54
datacontract_cli-0.10.23.dist-info/top_level.txt sha256=VIRjd8EIUrBYWjEXJJjtdUgc0UAJdPZjmLiOR8BRBYM 13
datacontract_cli-0.10.23.dist-info/RECORD

top_level.txt

datacontract

entry_points.txt

datacontract = datacontract.cli:app