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