datacontract-cli 1.0.0__tar.gz → 1.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- datacontract_cli-1.0.2/MANIFEST.in +4 -0
- {datacontract_cli-1.0.0/datacontract_cli.egg-info → datacontract_cli-1.0.2}/PKG-INFO +170 -68
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/README.md +162 -62
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/cli.py +13 -4
- datacontract_cli-1.0.2/datacontract/command_edit.py +353 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/command_import.py +25 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/VERSION +1 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/abap-Bs8kvjsq.js +1398 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/apex-Dspwrl5m.js +326 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/assets/editor.worker-4.7.0.js +9037 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/assets/yaml.worker-4.7.0.js +26455 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/azcli-k1BiOau1.js +68 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/bat-BIP72KWc.js +100 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/bicep-VhQeYhS3.js +102 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/cameligo-DnuAXtHg.js +174 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/clojure-BAuDPsal.js +761 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/coffee-BV06qSnj.js +232 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/cpp-Cz8Jeyrf.js +389 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/csharp-F6hhlXFb.js +326 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/csp-KzlEHCyI.js +53 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/css-e4FKntZ3.js +187 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/cssMode-BNkTa2xp.js +1618 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/cypher-CpvDGKRr.js +263 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/dart-DdHeFWR0.js +281 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/datacontract-editor.css +1 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/datacontract-editor.es.js +78027 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/dockerfile-aoNXDcio.js +130 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/ecl-C4Q0DYuA.js +456 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/elixir-C9X42b0T.js +569 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/flow9-Bff42pfB.js +142 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/freemarker2-Dyfzmb5A.js +989 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/fsharp-C6vPAsHG.js +217 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/go-DEr8zx9f.js +218 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/graphql-BiNBBRFh.js +151 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/handlebars-BtDNI-uC.js +419 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/hcl-2T9lKuFg.js +183 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/html-Cn4TGw_o.js +308 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/htmlMode-Bf84vbo2.js +1628 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/index.html +31 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/ini-CZGtssYM.js +71 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/java-B260NeH3.js +232 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/javascript-B86Kac07.js +70 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/jsonMode-Ckgg5lAE.js +2051 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/julia-kuNLM9c5.js +511 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/kotlin-Bz6kAefA.js +253 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/less-AZUtS89I.js +162 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/lexon-BcmgnyRb.js +157 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/liquid-D0NPwuu_.js +240 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/logo_fuchsia_v2.svg +13 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/lua-Dz1RbATg.js +162 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/m3-CIMooLFn.js +210 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/markdown-C1BsCK9P.js +229 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/mdx-QFRSBtVQ.js +165 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/mips-BovsnfLQ.js +198 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/monaco-4.7.0.js +125918 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/msdax-CiRB2ZB-.js +375 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/mysql-BwdpPE19.js +878 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/objective-c-D4nfHfso.js +183 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/odcs.svg +24 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/pascal--j5-PYtz.js +251 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/pascaligo-C7TcJxNL.js +164 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/perl-BzEWqUb5.js +626 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/pgsql-B_KZ0mGX.js +851 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/php-A19QHzQV.js +500 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/pla-COeKY1hA.js +137 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/postiats-BfMp7zJL.js +907 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/powerquery-B0TS_5Gb.js +890 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/powershell-5jSbKdYB.js +239 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/protobuf-YgnOutn3.js +420 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/pug-DLej6kn5.js +402 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/python-C8RW9B6A.js +301 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/qsharp-AhjqtSHB.js +301 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/r-D-F4P80w.js +243 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/razor-CLZqdY_r.js +550 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/redis-hwwIlMnV.js +302 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/redshift-Bcm_kjEG.js +809 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/restructuredtext-CrdzfPP-.js +174 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/ruby-QC2UNm1s.js +511 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/rust-5aqiQ3L5.js +343 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/sb-B1g1ZfLJ.js +115 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/scala-C2U4R5Gb.js +370 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/scheme-DeFRbslr.js +108 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/scss-RSTCiCmI.js +262 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/shell-BpF-iNu8.js +221 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/solidity-C00r2mbQ.js +1367 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/sophia-DVW5ZKDB.js +199 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/sparql-B0nmpxeX.js +201 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/sql-CJwKPERn.js +853 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/st-DPlKG5DT.js +416 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/swift-YZBAbVHV.js +309 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/systemverilog-CDQSaH63.js +576 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/tcl-Dlu8sp6Q.js +232 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/tsMode-yleMwhPq.js +933 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/twig-C5TO7-kw.js +392 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/typescript-CJBeebKU.js +343 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/typespec-BsmjDEu7.js +117 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/vb-ChHvIDrk.js +372 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/wgsl-XEp1ju8c.js +439 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/xml-vC-NMVX1.js +95 -0
- datacontract_cli-1.0.2/datacontract/editor_assets/yaml-Dlf2VF-T.js +206 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/ibis/connections/connect.py +20 -3
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/ibis/ibis_check_execute.py +122 -1
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/dcs_importer.py +7 -1
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/importer.py +1 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/importer_factory.py +5 -1
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/odcs_helper.py +30 -3
- datacontract_cli-1.0.2/datacontract/imports/snowflake_importer.py +576 -0
- datacontract_cli-1.0.2/datacontract/model/server.py +50 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/output/test_results_writer.py +9 -3
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2/datacontract_cli.egg-info}/PKG-INFO +170 -68
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract_cli.egg-info/SOURCES.txt +100 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract_cli.egg-info/requires.txt +7 -5
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/pyproject.toml +14 -8
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_cli.py +36 -0
- datacontract_cli-1.0.2/tests/test_edit.py +248 -0
- datacontract_cli-1.0.2/tests/test_ibis_mssql_pattern.py +48 -0
- datacontract_cli-1.0.2/tests/test_import_snowflake.py +144 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_resolve.py +53 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_dataframe.py +26 -0
- datacontract_cli-1.0.2/tests/test_test_snowflake.py +29 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_sqlserver.py +43 -8
- datacontract_cli-1.0.0/MANIFEST.in +0 -3
- datacontract_cli-1.0.0/tests/test_test_snowflake.py +0 -19
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/LICENSE +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/__init__.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/api.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/catalog/catalog.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/changelog/__init__.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/changelog/changelog.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/changelog/normalize.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/command_api.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/command_catalog.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/command_changelog.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/command_ci.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/command_dbt.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/command_export.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/command_init.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/command_lint.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/command_publish.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/command_test.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/data_contract.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/__init__.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/checks/__init__.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/checks/check_spec.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/checks/create_checks.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/checks/type_normalize.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/data_contract_test.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/datacontract/check_that_datacontract_contains_valid_servers_configuration.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/datacontract/check_that_datacontract_file_exists.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/fastjsonschema/check_jsonschema.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/fastjsonschema/s3/s3_read_files.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/ibis/__init__.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/ibis/connections/__init__.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/ibis/connections/duckdb_connection.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/ibis/connections/kafka.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/engines/ibis/dtype_category.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/__init__.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/avro_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/avro_idl_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/bigquery_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/custom_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/data_caterer_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/dbml_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/dbt_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/dcs_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/dqx_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/duckdb_type_converter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/excel_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/exporter_factory.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/go_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/great_expectations_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/html_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/iceberg_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/jsonschema_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/markdown_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/mermaid_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/odcs_export_helper.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/odcs_v3_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/pandas_type_converter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/protobuf_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/pydantic_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/rdf_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/sodacl_check_builder.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/sodacl_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/spark_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/sql_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/sql_type_converter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/export/sqlalchemy_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/avro_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/bigquery_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/csv_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/dbml_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/dbt_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/excel_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/glue_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/iceberg_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/json_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/jsonschema_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/odcs_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/parquet_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/protobuf_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/spark_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/sql_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/imports/unity_importer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/init/init_template.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/integration/dbt_sync.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/integration/dbt_test_mapping.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/integration/entropy_data.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/lint/files.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/lint/resolve.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/lint/resources.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/lint/schema.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/lint/urls.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/model/changelog.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/model/exceptions.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/model/odcs.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/model/run.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/output/__init__.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/output/ci_output.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/output/json_test_results.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/output/junit_test_results.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/output/output_format.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/output/text_changelog_results.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/py.typed +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/schemas/datacontract-1.1.0.init.yaml +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/schemas/datacontract-1.1.0.schema.json +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/schemas/datacontract-1.2.0.init.yaml +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/schemas/datacontract-1.2.0.schema.json +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/schemas/datacontract-1.2.1.init.yaml +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/schemas/datacontract-1.2.1.schema.json +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/schemas/odcs-3.0.1.schema.json +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/schemas/odcs-3.0.2.schema.json +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/schemas/odcs-3.1.0.init.yaml +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/schemas/odcs-3.1.0.schema.json +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/datacontract.html +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/datacontract_odcs.html +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/index.html +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/partials/datacontract_information.html +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/partials/datacontract_servicelevels.html +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/partials/datacontract_terms.html +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/partials/definition.html +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/partials/example.html +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/partials/model_field.html +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/partials/quality.html +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/partials/server.html +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract/templates/style/output.css +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract_cli.egg-info/dependency_links.txt +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract_cli.egg-info/entry_points.txt +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/datacontract_cli.egg-info/top_level.txt +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/setup.cfg +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_api.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_catalog.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_changelog.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_changelog_engine.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_changelog_normalize.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_changelog_output_text.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_ci_output.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_connect_databricks.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_connect_sqlserver.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_data_contract.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_data_contract_checks.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_data_contract_specification.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_dbt_sync.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_dbt_test_mapping.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_description_linter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_download_datacontract_file.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_duckdb_json.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_avro.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_avro_idl.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_bigquery.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_complex_data_contract.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_custom.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_custom_exporter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_custom_model.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_data_caterer.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_dbml.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_dbt_models.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_dbt_sources.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_dbt_staging_sql.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_dqx.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_excel.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_go.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_great_expectations.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_html.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_iceberg.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_jsonschema.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_markdown.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_mermaid.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_odcs_v3.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_protobuf.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_pydantic.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_rdf.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_sodacl.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_spark.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_sql.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_sql_query.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_export_sqlalchemy.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_avro.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_bigquery.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_csv.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_dbml.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_dbt.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_excel.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_glue.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_iceberg.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_json.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_jsonschema.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_odcs_v3.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_parquet.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_protobuf.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_spark.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_sql_oracle.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_sql_postgres.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_sql_snowflake.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_sql_sqlserver.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_import_unity_file.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_integration_entropydata.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_lint.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_require_env.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_resolve_definitions.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_roundtrip_jsonschema.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_sql_type_converter_physicaltype.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_api.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_athena_iceberg.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_azure_remote.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_bigquery.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_checks_filter.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_databricks.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_delta.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_diagnostics.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_failed_samples.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_gcs_csv_remote.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_gcs_json_remote.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_kafka.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_kafka_remote.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_local_json.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_local_json_nd.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_mysql.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_oracle.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_output_json.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_output_junit.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_parquet.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_postgres.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_quality.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_quality_percent_severity.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_s3_csv.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_s3_delta.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_s3_json.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_s3_json_complex.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_s3_json_multiple_models.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_s3_json_remote.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_schema_evolution.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_server_not_found.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_soda_connection_error.py +0 -0
- {datacontract_cli-1.0.0 → datacontract_cli-1.0.2}/tests/test_test_trino.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: datacontract-cli
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
4
4
|
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.
|
|
5
5
|
Author-email: Jochen Christ <jochen.christ@innoq.com>, Stefan Negele <stefan.negele@innoq.com>, Simon Harrer <simon.harrer@innoq.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -39,7 +39,7 @@ Requires-Dist: openpyxl<4.0.0,>=3.1.5; extra == "excel"
|
|
|
39
39
|
Provides-Extra: databricks
|
|
40
40
|
Requires-Dist: ibis-framework[databricks,pyspark]<13.0.0,>=10.0.0; extra == "databricks"
|
|
41
41
|
Requires-Dist: databricks-sql-connector<4.3.0,>=3.7.0; extra == "databricks"
|
|
42
|
-
Requires-Dist: databricks-sdk<0.
|
|
42
|
+
Requires-Dist: databricks-sdk<0.116.0; extra == "databricks"
|
|
43
43
|
Requires-Dist: pyspark<5.0.0,>=3.5.0; extra == "databricks"
|
|
44
44
|
Provides-Extra: iceberg
|
|
45
45
|
Requires-Dist: pyiceberg==0.11.1; extra == "iceberg"
|
|
@@ -51,8 +51,10 @@ Provides-Extra: mysql
|
|
|
51
51
|
Requires-Dist: datacontract-cli[duckdb]; extra == "mysql"
|
|
52
52
|
Provides-Extra: postgres
|
|
53
53
|
Requires-Dist: ibis-framework[postgres]<13.0.0,>=10.0.0; extra == "postgres"
|
|
54
|
+
Requires-Dist: psycopg[binary]<4.0,>=3.1; extra == "postgres"
|
|
54
55
|
Provides-Extra: redshift
|
|
55
56
|
Requires-Dist: ibis-framework[postgres]<13.0.0,>=10.0.0; extra == "redshift"
|
|
57
|
+
Requires-Dist: psycopg[binary]<4.0,>=3.1; extra == "redshift"
|
|
56
58
|
Provides-Extra: s3
|
|
57
59
|
Requires-Dist: s3fs<2027.0.0,>=2025.2.0; extra == "s3"
|
|
58
60
|
Requires-Dist: duckdb-extension-httpfs<1.6.0,>=1.5.0; extra == "s3"
|
|
@@ -64,7 +66,7 @@ Provides-Extra: azure
|
|
|
64
66
|
Requires-Dist: datacontract-cli[duckdb]; extra == "azure"
|
|
65
67
|
Requires-Dist: duckdb-extension-azure<1.6.0,>=1.5.0; extra == "azure"
|
|
66
68
|
Provides-Extra: snowflake
|
|
67
|
-
Requires-Dist: snowflake-connector-python[pandas]<4.
|
|
69
|
+
Requires-Dist: snowflake-connector-python[pandas]<4.7,>=3.6; extra == "snowflake"
|
|
68
70
|
Requires-Dist: ibis-framework[snowflake]<13.0.0,>=10.0.0; extra == "snowflake"
|
|
69
71
|
Provides-Extra: sqlserver
|
|
70
72
|
Requires-Dist: ibis-framework[mssql]<13.0.0,>=10.0.0; extra == "sqlserver"
|
|
@@ -87,7 +89,7 @@ Provides-Extra: rdf
|
|
|
87
89
|
Requires-Dist: rdflib==7.6.0; extra == "rdf"
|
|
88
90
|
Provides-Extra: api
|
|
89
91
|
Requires-Dist: fastapi<0.137.0,>=0.115.0; extra == "api"
|
|
90
|
-
Requires-Dist: uvicorn<0.
|
|
92
|
+
Requires-Dist: uvicorn<0.50.0,>=0.44.0; extra == "api"
|
|
91
93
|
Provides-Extra: protobuf
|
|
92
94
|
Requires-Dist: proto-schema-parser<3.0,>=1.0; extra == "protobuf"
|
|
93
95
|
Provides-Extra: all
|
|
@@ -97,7 +99,7 @@ Requires-Dist: datacontract-cli[all]; extra == "dev"
|
|
|
97
99
|
Requires-Dist: httpx==0.28.1; extra == "dev"
|
|
98
100
|
Requires-Dist: kafka-python; extra == "dev"
|
|
99
101
|
Requires-Dist: minio==7.2.20; extra == "dev"
|
|
100
|
-
Requires-Dist: moto==5.2.
|
|
102
|
+
Requires-Dist: moto==5.2.2; extra == "dev"
|
|
101
103
|
Requires-Dist: pandas>=2.1.0; extra == "dev"
|
|
102
104
|
Requires-Dist: pre-commit<4.7.0,>=3.7.1; extra == "dev"
|
|
103
105
|
Requires-Dist: pytest; extra == "dev"
|
|
@@ -105,7 +107,7 @@ Requires-Dist: pytest-xdist; extra == "dev"
|
|
|
105
107
|
Requires-Dist: pymssql==2.3.13; extra == "dev"
|
|
106
108
|
Requires-Dist: psycopg2-binary<3.0,>=2.9; extra == "dev"
|
|
107
109
|
Requires-Dist: mysql-connector-python<9.7.0,>=8.0.30; extra == "dev"
|
|
108
|
-
Requires-Dist: ruff==0.15.
|
|
110
|
+
Requires-Dist: ruff==0.15.16; extra == "dev"
|
|
109
111
|
Requires-Dist: testcontainers[kafka,minio,mssql,mysql,postgres]==4.14.2; extra == "dev"
|
|
110
112
|
Requires-Dist: trino==0.337.0; extra == "dev"
|
|
111
113
|
Dynamic: license-file
|
|
@@ -229,6 +231,9 @@ $ datacontract export html --output orders-v1.odcs.html https://datacontract.com
|
|
|
229
231
|
# create a new data contract from example and write it to odcs.yaml
|
|
230
232
|
$ datacontract init odcs.yaml
|
|
231
233
|
|
|
234
|
+
# edit the data contract in the Data Contract Editor (web UI)
|
|
235
|
+
$ datacontract edit odcs.yaml
|
|
236
|
+
|
|
232
237
|
# lint the odcs.yaml and stop after the first validation error (default).
|
|
233
238
|
$ datacontract lint odcs.yaml
|
|
234
239
|
|
|
@@ -385,6 +390,7 @@ A list of available extras:
|
|
|
385
390
|
Commands
|
|
386
391
|
|
|
387
392
|
- [init](#init)
|
|
393
|
+
- [edit](#edit)
|
|
388
394
|
- [lint](#lint)
|
|
389
395
|
- [changelog](#changelog)
|
|
390
396
|
- [test](#test)
|
|
@@ -417,6 +423,52 @@ Usage: datacontract init [OPTIONS] [LOCATION]
|
|
|
417
423
|
Example: datacontract init datacontract.yaml
|
|
418
424
|
```
|
|
419
425
|
|
|
426
|
+
### edit
|
|
427
|
+
```
|
|
428
|
+
Usage: datacontract edit [OPTIONS] [LOCATION]
|
|
429
|
+
|
|
430
|
+
Edit a data contract file in the Data Contract Editor (web UI).
|
|
431
|
+
|
|
432
|
+
Starts a local web server that opens the Data Contract Editor for the given file.
|
|
433
|
+
The editor is bundled with the CLI, so no internet access is required.
|
|
434
|
+
Saving in the editor writes directly back to the local file.
|
|
435
|
+
If a URL is given, you are asked whether to download a local copy, which is then edited.
|
|
436
|
+
The server also acts as the editor's test runner: "Run test" in the editor executes
|
|
437
|
+
the data contract tests locally against the servers defined in the data contract.
|
|
438
|
+
Credentials for the data sources must be provided as environment variables, see
|
|
439
|
+
https://cli.datacontract.com/#test
|
|
440
|
+
|
|
441
|
+
╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────╮
|
|
442
|
+
│ location [LOCATION] The path of the data contract yaml to edit. If the file does not │
|
|
443
|
+
│ exist, you are asked whether to initialize a new data contract. If a │
|
|
444
|
+
│ URL is given, you are asked whether to download a local copy to │
|
|
445
|
+
│ edit. │
|
|
446
|
+
│ [default: datacontract.yaml] │
|
|
447
|
+
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
448
|
+
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
|
|
449
|
+
│ --port INTEGER Bind socket to this port. [default: 4243] │
|
|
450
|
+
│ --host TEXT Bind socket to this host. Hint: For running in │
|
|
451
|
+
│ docker, set it to 0.0.0.0 │
|
|
452
|
+
│ [default: 127.0.0.1] │
|
|
453
|
+
│ --editor-version TEXT Version of the datacontract-editor npm package to │
|
|
454
|
+
│ load from the CDN, e.g. '0.1.9' or 'latest'. By │
|
|
455
|
+
│ default, the editor version bundled with the CLI │
|
|
456
|
+
│ is used (works offline). │
|
|
457
|
+
│ --editor-assets-url TEXT Base URL to load the Data Contract Editor assets │
|
|
458
|
+
│ (JS/CSS) from, e.g. a self-hosted editor build. │
|
|
459
|
+
│ Takes precedence over --editor-version. │
|
|
460
|
+
│ --open --no-open Open the editor in the default browser. │
|
|
461
|
+
│ [default: open] │
|
|
462
|
+
│ --debug --no-debug Enable debug logging │
|
|
463
|
+
│ --help Show this message and exit. │
|
|
464
|
+
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
465
|
+
|
|
466
|
+
Example: datacontract edit datacontract.yaml
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
Requires the `api` extra (`pip install 'datacontract-cli[api]'`).
|
|
470
|
+
The [Data Contract Editor](https://github.com/datacontract/datacontract-editor) assets are loaded from a CDN by default; use `--editor-version` to pin a specific editor version or `--editor-assets-url` to point to a self-hosted build.
|
|
471
|
+
|
|
420
472
|
### lint
|
|
421
473
|
```
|
|
422
474
|
Usage: datacontract lint [OPTIONS] [LOCATION]
|
|
@@ -437,7 +489,8 @@ Usage: datacontract lint [OPTIONS] [LOCATION]
|
|
|
437
489
|
│ If no path is provided, the │
|
|
438
490
|
│ output will be printed to stdout. │
|
|
439
491
|
│ --output-format [json|junit] The target format for the test │
|
|
440
|
-
│ results.
|
|
492
|
+
│ results. Accepted values: json, │
|
|
493
|
+
│ junit. │
|
|
441
494
|
│ --all-errors Report all JSON Schema validation │
|
|
442
495
|
│ errors instead of stopping after │
|
|
443
496
|
│ the first one. │
|
|
@@ -497,59 +550,76 @@ Usage: datacontract test [OPTIONS] [LOCATION]
|
|
|
497
550
|
│ [default: datacontract.yaml] │
|
|
498
551
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
499
552
|
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
|
|
500
|
-
│ --json-schema
|
|
501
|
-
│
|
|
502
|
-
│
|
|
503
|
-
│
|
|
504
|
-
│
|
|
505
|
-
│
|
|
506
|
-
│
|
|
507
|
-
│
|
|
508
|
-
│
|
|
509
|
-
│
|
|
510
|
-
│
|
|
511
|
-
│
|
|
512
|
-
│
|
|
513
|
-
│
|
|
514
|
-
│
|
|
515
|
-
│
|
|
516
|
-
│
|
|
517
|
-
│
|
|
518
|
-
│
|
|
519
|
-
│
|
|
520
|
-
│
|
|
521
|
-
│
|
|
522
|
-
│
|
|
523
|
-
│
|
|
524
|
-
│
|
|
525
|
-
│
|
|
526
|
-
│ --output
|
|
527
|
-
│
|
|
528
|
-
│
|
|
529
|
-
│
|
|
530
|
-
│
|
|
531
|
-
│
|
|
532
|
-
│
|
|
533
|
-
│
|
|
534
|
-
│ --
|
|
535
|
-
│
|
|
536
|
-
│
|
|
537
|
-
│
|
|
538
|
-
│
|
|
539
|
-
│
|
|
540
|
-
│ --
|
|
541
|
-
│
|
|
542
|
-
│
|
|
543
|
-
│
|
|
544
|
-
│
|
|
545
|
-
│
|
|
546
|
-
│
|
|
547
|
-
│
|
|
548
|
-
│
|
|
549
|
-
│
|
|
550
|
-
│
|
|
551
|
-
│ --
|
|
552
|
-
│
|
|
553
|
+
│ --json-schema TEXT The location (url or │
|
|
554
|
+
│ path) of the ODCS JSON │
|
|
555
|
+
│ Schema │
|
|
556
|
+
│ --server TEXT The server configuration │
|
|
557
|
+
│ to run the schema and │
|
|
558
|
+
│ quality tests. Use the │
|
|
559
|
+
│ key of the server object │
|
|
560
|
+
│ in the data contract yaml │
|
|
561
|
+
│ file to refer to a │
|
|
562
|
+
│ server, e.g., │
|
|
563
|
+
│ `production`, or `all` │
|
|
564
|
+
│ for all servers │
|
|
565
|
+
│ (default). │
|
|
566
|
+
│ [default: all] │
|
|
567
|
+
│ --schema-name TEXT Which schema to test, │
|
|
568
|
+
│ e.g., `orders`, or `all` │
|
|
569
|
+
│ for all schemas │
|
|
570
|
+
│ (default). │
|
|
571
|
+
│ [default: all] │
|
|
572
|
+
│ --publish-test-results --no-publish-test-results Deprecated. Use publish │
|
|
573
|
+
│ parameter. Publish the │
|
|
574
|
+
│ results after the test │
|
|
575
|
+
│ [default: │
|
|
576
|
+
│ no-publish-test-results] │
|
|
577
|
+
│ --publish TEXT The url to publish the │
|
|
578
|
+
│ results after the test. │
|
|
579
|
+
│ --output PATH Specify the file path │
|
|
580
|
+
│ where the test results │
|
|
581
|
+
│ should be written to │
|
|
582
|
+
│ (e.g., │
|
|
583
|
+
│ './test-results/TEST-dat… │
|
|
584
|
+
│ --output-format [json|junit] The target format for the │
|
|
585
|
+
│ test results. Accepted │
|
|
586
|
+
│ values: json, junit. │
|
|
587
|
+
│ --checks TEXT Comma-separated list of │
|
|
588
|
+
│ check categories to run │
|
|
589
|
+
│ (available: schema, │
|
|
590
|
+
│ quality, servicelevel, │
|
|
591
|
+
│ custom). Omit to enable │
|
|
592
|
+
│ all. │
|
|
593
|
+
│ --include-failed-samples --no-include-failed-samp… Collect a small sample of │
|
|
594
|
+
│ rows that failed each │
|
|
595
|
+
│ missing/invalid/duplicate │
|
|
596
|
+
│ check (identifier + │
|
|
597
|
+
│ offending columns; │
|
|
598
|
+
│ sensitive columns │
|
|
599
|
+
│ omitted). Off by default. │
|
|
600
|
+
│ [default: │
|
|
601
|
+
│ no-include-failed-sample… │
|
|
602
|
+
│ --logs --no-logs Print logs │
|
|
603
|
+
│ [default: no-logs] │
|
|
604
|
+
│ --ssl-verification --no-ssl-verification SSL verification when │
|
|
605
|
+
│ publishing the data │
|
|
606
|
+
│ contract. │
|
|
607
|
+
│ [default: │
|
|
608
|
+
│ ssl-verification] │
|
|
609
|
+
│ --inline-references --no-inline-references Resolve external │
|
|
610
|
+
│ references (currently: │
|
|
611
|
+
│ authoritativeDefinitions… │
|
|
612
|
+
│ in {definition, │
|
|
613
|
+
│ semantics}]) in the │
|
|
614
|
+
│ contract and inline the │
|
|
615
|
+
│ fetched content from the │
|
|
616
|
+
│ configured entropy-data │
|
|
617
|
+
│ host. │
|
|
618
|
+
│ [default: │
|
|
619
|
+
│ inline-references] │
|
|
620
|
+
│ --debug --no-debug Enable debug logging │
|
|
621
|
+
│ --help Show this message and │
|
|
622
|
+
│ exit. │
|
|
553
623
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
554
624
|
|
|
555
625
|
Example: datacontract test datacontract.yaml --server production
|
|
@@ -571,6 +641,14 @@ Internally, it connects with DuckDB, Spark, or a native connection and executes
|
|
|
571
641
|
The `server` block in the datacontract.yaml is used to set up the connection.
|
|
572
642
|
In addition, credentials, such as username and passwords, are provided with environment variables.
|
|
573
643
|
|
|
644
|
+
Environment variables are also loaded from a `.env` file in the current working directory (or the nearest parent directory containing one, so you can run the CLI from a subfolder of your project). Already-set environment variables take precedence over values from the `.env` file.
|
|
645
|
+
|
|
646
|
+
```bash
|
|
647
|
+
# .env
|
|
648
|
+
DATACONTRACT_POSTGRES_USERNAME=postgres
|
|
649
|
+
DATACONTRACT_POSTGRES_PASSWORD=postgres
|
|
650
|
+
```
|
|
651
|
+
|
|
574
652
|
Feel free to create an [issue](https://github.com/datacontract/datacontract-cli/issues), if you need support for additional types and formats.
|
|
575
653
|
|
|
576
654
|
<details markdown="1">
|
|
@@ -718,6 +796,7 @@ models:
|
|
|
718
796
|
|----------------------------------------------|---------------------------|---------------------------------------------------------|
|
|
719
797
|
| `DATACONTRACT_BIGQUERY_ACCOUNT_INFO_JSON_PATH` | `~/service-access-key.json` | Service Account key JSON file. If not set, ADC/WIF is used automatically. |
|
|
720
798
|
| `DATACONTRACT_BIGQUERY_IMPERSONATION_ACCOUNT` | `sa@project.iam.gserviceaccount.com` | Optional. Service account to impersonate. Works with both key file and ADC auth. |
|
|
799
|
+
| `DATACONTRACT_BIGQUERY_BILLING_PROJECT` | `my-compute-project` | Optional. Google Cloud project ID to bill query jobs to. Use when the data lives in an external project and you want charges routed to your own project. Requires `bigquery.jobUser` on the billing project and `bigquery.dataViewer` on the data project. |
|
|
721
800
|
|
|
722
801
|
</details>
|
|
723
802
|
|
|
@@ -1003,17 +1082,22 @@ models:
|
|
|
1003
1082
|
```
|
|
1004
1083
|
|
|
1005
1084
|
##### Environment Variables
|
|
1006
|
-
Any `DATACONTRACT_SNOWFLAKE_`-prefixed variable is passed (lowercased, prefix stripped) as a connection parameter to the [snowflake-connector-python](https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-api#connect) driver
|
|
1085
|
+
Any `DATACONTRACT_SNOWFLAKE_`-prefixed variable is passed (lowercased, prefix stripped) as a connection parameter to the [snowflake-connector-python](https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-api#connect) driver.
|
|
1086
|
+
Depending on the `authenticator` mode required by your Snowflake workspace, please set your environment variables accordingly.
|
|
1007
1087
|
For example:
|
|
1008
1088
|
|
|
1009
|
-
|
|
|
1010
|
-
|
|
1011
|
-
| `
|
|
1012
|
-
| `password`
|
|
1013
|
-
| `warehouse`
|
|
1014
|
-
| `role`
|
|
1089
|
+
| Soda parameter | Environment Variable |
|
|
1090
|
+
|--------------------------|-------------------------------------------------|
|
|
1091
|
+
| `username` | `DATACONTRACT_SNOWFLAKE_USERNAME` |
|
|
1092
|
+
| `password` | `DATACONTRACT_SNOWFLAKE_PASSWORD` |
|
|
1093
|
+
| `warehouse` | `DATACONTRACT_SNOWFLAKE_WAREHOUSE` |
|
|
1094
|
+
| `role` | `DATACONTRACT_SNOWFLAKE_ROLE` |
|
|
1095
|
+
| `connection_timeout` | `DATACONTRACT_SNOWFLAKE_CONNECTION_TIMEOUT` |
|
|
1096
|
+
| `authenticator` | `DATACONTRACT_SNOWFLAKE_AUTHENTICATOR` |
|
|
1097
|
+
| `private_key` | `DATACONTRACT_SNOWFLAKE_PRIVATE_KEY` |
|
|
1098
|
+
| `private_key_passphrase` | `DATACONTRACT_SNOWFLAKE_PRIVATE_KEY_PASSPHRASE` |
|
|
1099
|
+
| `private_key_path` | `DATACONTRACT_SNOWFLAKE_PRIVATE_KEY_PATH` |
|
|
1015
1100
|
|
|
1016
|
-
(`DATACONTRACT_SNOWFLAKE_USERNAME` is accepted as an alias for the connector's `user` parameter.)
|
|
1017
1101
|
|
|
1018
1102
|
Beware, that parameters:
|
|
1019
1103
|
* `account`
|
|
@@ -1419,6 +1503,8 @@ Usage: datacontract ci [OPTIONS] [LOCATIONS]...
|
|
|
1419
1503
|
│ './test-results/TEST-da… │
|
|
1420
1504
|
│ --output-format [json|junit] The target format for │
|
|
1421
1505
|
│ the test results. │
|
|
1506
|
+
│ Accepted values: json, │
|
|
1507
|
+
│ junit. │
|
|
1422
1508
|
│ --logs --no-logs Print logs │
|
|
1423
1509
|
│ [default: no-logs] │
|
|
1424
1510
|
│ --json Print test results as │
|
|
@@ -1931,6 +2017,7 @@ Usage: datacontract import [OPTIONS] COMMAND [ARGS]...
|
|
|
1931
2017
|
│ spark Import a data contract from a Spark schema. │
|
|
1932
2018
|
│ iceberg Import a data contract from an Iceberg schema. │
|
|
1933
2019
|
│ excel Import a data contract from an Excel file. │
|
|
2020
|
+
│ snowflake Import a data contract from a Snowflake workspace. │
|
|
1934
2021
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
1935
2022
|
|
|
1936
2023
|
Example: datacontract import sql --source ddl.sql --dialect postgres --output datacontract.yaml
|
|
@@ -2159,6 +2246,21 @@ datacontract import protobuf --source "test.proto"
|
|
|
2159
2246
|
|
|
2160
2247
|
</details>
|
|
2161
2248
|
|
|
2249
|
+
<details markdown="1">
|
|
2250
|
+
<summary><strong>snowflake</strong></summary>
|
|
2251
|
+
|
|
2252
|
+
Importing from snowflake schema. Specify snowflake workspace account in `source` parameter, database name `database` and schema in `schema`.
|
|
2253
|
+
Multiple authentification are supported,
|
|
2254
|
+
login/password using the `DATACONTRACT_SNOWFLAKE_ ...` test environement variable are setup,
|
|
2255
|
+
MFA using external browser is selected when `DATACONTRACT_SNOWFLAKE_PASSWORD` is missing
|
|
2256
|
+
TOML file authentification using the default profile when `SNOWFLAKE_DEFAULT_CONNECTION_NAME` environment variable is defined
|
|
2257
|
+
|
|
2258
|
+
Example:
|
|
2259
|
+
|
|
2260
|
+
```bash
|
|
2261
|
+
datacontract import snowflake --source account.canada-central.azure --database databaseName --schema schemaName
|
|
2262
|
+
```
|
|
2263
|
+
</details>
|
|
2162
2264
|
|
|
2163
2265
|
### catalog
|
|
2164
2266
|
```
|