datacontract-cli 1.0.17__tar.gz → 1.1.0__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.17/datacontract_cli.egg-info → datacontract_cli-1.1.0}/PKG-INFO +40 -33
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/README.md +2 -13
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/config/settings.py +8 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/checks/create_checks.py +2 -1
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/connections/connect.py +38 -14
- datacontract_cli-1.1.0/datacontract/engines/ibis/connections/kafka.py +609 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/great_expectations_exporter.py +1 -1
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/spark_exporter.py +193 -76
- datacontract_cli-1.1.0/datacontract/imports/spark_type_json.py +122 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/unity_importer.py +11 -16
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0/datacontract_cli.egg-info}/PKG-INFO +40 -33
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract_cli.egg-info/SOURCES.txt +3 -2
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract_cli.egg-info/requires.txt +19 -17
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/pyproject.toml +86 -44
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_sodacl.py +34 -1
- datacontract_cli-1.1.0/tests/test_export_spark.py +191 -0
- datacontract_cli-1.1.0/tests/test_import_spark_type_json.py +129 -0
- datacontract_cli-1.1.0/tests/test_test_databricks.py +53 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_kafka.py +3 -13
- datacontract_cli-1.1.0/tests/test_test_kafka_decoding.py +212 -0
- datacontract_cli-1.0.17/datacontract/engines/ibis/connections/kafka.py +0 -441
- datacontract_cli-1.0.17/tests/test_export_spark.py +0 -180
- datacontract_cli-1.0.17/tests/test_import_spark.py +0 -219
- datacontract_cli-1.0.17/tests/test_test_databricks.py +0 -27
- datacontract_cli-1.0.17/tests/test_test_dataframe.py +0 -200
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/LICENSE +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/MANIFEST.in +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/__init__.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/api.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/catalog/catalog.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/changelog/__init__.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/changelog/changelog.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/changelog/normalize.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/cli.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_api.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_catalog.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_changelog.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_ci.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_dbt.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_edit.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_export.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_import.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_init.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_lint.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_publish.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/command_test.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/config/__init__.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/config/cli_context.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/data_contract.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/VERSION +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/abap-Bs8kvjsq.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/apex-Dspwrl5m.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/assets/editor.worker-4.7.0.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/assets/yaml.worker-4.7.0.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/azcli-k1BiOau1.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/bat-BIP72KWc.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/bicep-VhQeYhS3.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/cameligo-DnuAXtHg.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/clojure-BAuDPsal.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/coffee-BV06qSnj.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/cpp-Cz8Jeyrf.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/csharp-F6hhlXFb.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/csp-KzlEHCyI.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/css-e4FKntZ3.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/cssMode-BNkTa2xp.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/cypher-CpvDGKRr.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/dart-DdHeFWR0.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/datacontract-editor.css +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/datacontract-editor.es.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/dockerfile-aoNXDcio.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/ecl-C4Q0DYuA.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/elixir-C9X42b0T.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/flow9-Bff42pfB.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/freemarker2-Dyfzmb5A.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/fsharp-C6vPAsHG.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/go-DEr8zx9f.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/graphql-BiNBBRFh.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/handlebars-BtDNI-uC.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/hcl-2T9lKuFg.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/html-Cn4TGw_o.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/htmlMode-Bf84vbo2.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/index.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/ini-CZGtssYM.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/java-B260NeH3.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/javascript-B86Kac07.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/jsonMode-Ckgg5lAE.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/julia-kuNLM9c5.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/kotlin-Bz6kAefA.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/less-AZUtS89I.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/lexon-BcmgnyRb.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/liquid-D0NPwuu_.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/logo_fuchsia_v2.svg +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/lua-Dz1RbATg.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/m3-CIMooLFn.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/markdown-C1BsCK9P.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/mdx-QFRSBtVQ.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/mips-BovsnfLQ.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/monaco-4.7.0.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/msdax-CiRB2ZB-.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/mysql-BwdpPE19.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/objective-c-D4nfHfso.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/odcs.svg +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/pascal--j5-PYtz.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/pascaligo-C7TcJxNL.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/perl-BzEWqUb5.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/pgsql-B_KZ0mGX.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/php-A19QHzQV.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/pla-COeKY1hA.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/postiats-BfMp7zJL.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/powerquery-B0TS_5Gb.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/powershell-5jSbKdYB.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/protobuf-YgnOutn3.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/pug-DLej6kn5.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/python-C8RW9B6A.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/qsharp-AhjqtSHB.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/r-D-F4P80w.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/razor-CLZqdY_r.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/redis-hwwIlMnV.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/redshift-Bcm_kjEG.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/restructuredtext-CrdzfPP-.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/ruby-QC2UNm1s.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/rust-5aqiQ3L5.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/sb-B1g1ZfLJ.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/scala-C2U4R5Gb.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/scheme-DeFRbslr.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/scss-RSTCiCmI.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/shell-BpF-iNu8.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/solidity-C00r2mbQ.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/sophia-DVW5ZKDB.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/sparql-B0nmpxeX.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/sql-CJwKPERn.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/st-DPlKG5DT.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/swift-YZBAbVHV.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/systemverilog-CDQSaH63.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/tcl-Dlu8sp6Q.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/tsMode-yleMwhPq.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/twig-C5TO7-kw.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/typescript-CJBeebKU.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/typespec-BsmjDEu7.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/vb-ChHvIDrk.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/wgsl-XEp1ju8c.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/xml-vC-NMVX1.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/editor_assets/yaml-Dlf2VF-T.js +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/__init__.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/checks/__init__.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/checks/check_filter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/checks/check_spec.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/checks/dimensions.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/checks/physical_type_match.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/checks/type_normalize.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/data_contract_test.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/datacontract/check_azure_blob_file.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/datacontract/check_that_datacontract_contains_valid_servers_configuration.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/datacontract/check_that_datacontract_file_exists.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/fastjsonschema/check_jsonschema.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/fastjsonschema/s3/s3_read_files.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/__init__.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/connections/__init__.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/connections/aws_credentials.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/connections/duckdb_connection.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/connections/oracle_patch.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/connections/redshift_credentials.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/connections/redshift_patch.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/dtype_category.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/ibis_check_execute.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/native_type.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/snowflake_structured_types.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/__init__.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/avro_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/avro_idl_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/bigquery_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/custom_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/data_caterer_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/dbml_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/dbt_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/dcs_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/dqx_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/duckdb_type_converter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/excel_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/exporter_factory.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/go_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/html_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/iceberg_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/jsonschema_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/markdown_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/mermaid_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/odcs_export_helper.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/odcs_v3_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/pandas_type_converter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/protobuf_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/pydantic_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/rdf_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/sodacl_check_builder.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/sodacl_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/sql_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/sql_type_converter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/export/sqlalchemy_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/athena_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/avro_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/bigquery_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/csv_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/dbml_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/dbt_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/dcs_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/excel_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/glue_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/iceberg_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/importer_factory.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/json_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/jsonschema_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/mysql_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/object_storage_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/odcs_helper.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/odcs_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/oracle_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/parquet_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/postgres_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/powerbi_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/protobuf_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/redshift_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/snowflake_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/spark_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/sql_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/sqlserver_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/imports/trino_importer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/init/init_template.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/integration/dbt_sync.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/integration/dbt_test_mapping.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/integration/entropy_data.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/lint/files.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/lint/resolve.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/lint/resources.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/lint/s3.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/lint/schema.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/lint/urls.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/model/changelog.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/model/exceptions.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/model/odcs.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/model/run.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/model/server.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/output/__init__.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/output/ci_output.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/output/json_test_results.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/output/junit_test_results.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/output/output_format.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/output/test_results_writer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/output/text_changelog_results.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/py.typed +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/schemas/datacontract-1.1.0.init.yaml +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/schemas/datacontract-1.1.0.schema.json +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/schemas/datacontract-1.2.0.init.yaml +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/schemas/datacontract-1.2.0.schema.json +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/schemas/datacontract-1.2.1.init.yaml +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/schemas/datacontract-1.2.1.schema.json +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/schemas/odcs-3.0.1.schema.json +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/schemas/odcs-3.0.2.schema.json +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/schemas/odcs-3.1.0.init.yaml +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/schemas/odcs-3.1.0.schema.json +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/datacontract.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/datacontract_odcs.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/index.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/macros/authoritative_definitions.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/macros/schema.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/macros/server.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/macros/support.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials/datacontract_information.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials/datacontract_servicelevels.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials/datacontract_terms.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials/definition.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials/example.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials/model_field.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials/quality.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials/server.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/custom_properties.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/diagram.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/dialog_yaml.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/footer.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/fundamentals.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/header.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/pricing.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/roles.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/schema.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/servers.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/sla.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/support.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/team.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/term_of_use.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/partials_odcs/title.html +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/templates/style/output.css +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract_cli.egg-info/dependency_links.txt +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract_cli.egg-info/entry_points.txt +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract_cli.egg-info/top_level.txt +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/setup.cfg +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_api.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_catalog.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_changelog.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_changelog_engine.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_changelog_normalize.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_changelog_output_text.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_ci_output.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_cli.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_config.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_config_file.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_config_require.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_config_threading.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_athena.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_bigquery.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_databricks.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_impala.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_mysql.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_oracle.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_postgres.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_redshift.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_s3_credentials.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_snowflake.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_sqlserver.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_connect_trino.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_create_checks_nested_type.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_create_checks_physical_type.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_create_checks_primary_key.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_data_contract.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_data_contract_checks.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_data_contract_specification.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_dbt_sync.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_dbt_test_mapping.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_description_linter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_docs_commands.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_docs_config_options.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_docs_ordering.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_download_datacontract_file.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_dtype_category.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_duckdb_json.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_edit.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_avro.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_avro_idl.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_bigquery.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_complex_data_contract.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_custom.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_custom_exporter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_custom_model.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_data_caterer.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_dbml.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_dbt_models.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_dbt_sources.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_dbt_staging_sql.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_dqx.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_excel.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_go.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_great_expectations.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_html.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_iceberg.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_jsonschema.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_markdown.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_mermaid.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_odcs_v3.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_protobuf.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_pydantic.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_rdf.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_sql.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_sql_clickhouse.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_sql_query.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_export_sqlalchemy.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_ibis_mssql_pattern.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_ibis_mssql_schema.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_ibis_oracle_schema.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_athena.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_avro.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_bigquery.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_csv.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_dbml.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_dbt.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_excel.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_glue.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_iceberg.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_json.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_jsonschema.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_mysql.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_object_storage.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_odcs_v3.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_oracle.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_parquet.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_postgres.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_powerbi.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_protobuf.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_redshift.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_snowflake.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_sql_oracle.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_sql_postgres.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_sql_snowflake.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_sql_sqlserver.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_sqlserver.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_trino.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_import_unity_file.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_install_extras.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_integration_entropydata.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_lint.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_native_type_schema_scope.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_oracle_patch.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_physical_type_match.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_redshift_credentials.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_redshift_patch.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_resolve.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_resolve_definitions.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_roundtrip_jsonschema.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_server_type_mssql.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_snowflake_structured_types.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_sql_type_converter_physicaltype.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_api.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_athena_iceberg.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_azure_blob_file.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_azure_remote.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_bigquery.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_checks_filter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_delta.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_diagnostics.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_dimension_filter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_failed_samples.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_gcs_csv_remote.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_gcs_json_remote.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_kafka_remote.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_local_json.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_local_json_nd.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_mysql.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_oracle.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_oracle_xe.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_output_json.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_output_junit.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_parquet.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_postgres.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_quality.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_quality_id_and_tag_filter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_quality_local_fallback.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_quality_percent_severity.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_redshift.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_row_filter.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_s3_csv.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_s3_delta.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_s3_json.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_s3_json_complex.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_s3_json_multiple_models.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_s3_json_remote.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_schema_evolution.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_server_not_found.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_snowflake.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_soda_connection_error.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_sqlserver.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_test_trino.py +0 -0
- {datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/tests/test_type_normalize.py +0 -0
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: datacontract-cli
|
|
3
|
-
Version: 1.0
|
|
3
|
+
Version: 1.1.0
|
|
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
|
-
Author-email: Jochen Christ <jochen.christ@
|
|
5
|
+
Author-email: Jochen Christ <jochen.christ@entropy-data.com>, Stefan Negele <stefan.negele@innoq.com>, Simon Harrer <simon.harrer@entropy-data.com>
|
|
6
6
|
License-Expression: MIT
|
|
7
7
|
Project-URL: Homepage, https://cli.datacontract.com
|
|
8
|
+
Project-URL: Documentation, https://docs.datacontract.com
|
|
9
|
+
Project-URL: Repository, https://github.com/datacontract/datacontract-cli
|
|
8
10
|
Project-URL: Issues, https://github.com/datacontract/datacontract-cli/issues
|
|
9
|
-
|
|
11
|
+
Project-URL: Changelog, https://docs.datacontract.com/release-notes
|
|
12
|
+
Keywords: data-contract,data-contracts,odcs,open-data-contract-standard,data-quality,data-governance,data-mesh,data-product,data-engineering,schema,dbt,snowflake,databricks,bigquery
|
|
13
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Intended Audience :: Information Technology
|
|
10
17
|
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
24
|
+
Classifier: Topic :: Database
|
|
25
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
26
|
+
Classifier: Topic :: Software Development :: Testing
|
|
11
27
|
Requires-Python: <3.15,>=3.10
|
|
12
28
|
Description-Content-Type: text/markdown
|
|
13
29
|
License-File: LICENSE
|
|
@@ -41,24 +57,26 @@ Requires-Dist: pandas>=2.0.0; extra == "csv"
|
|
|
41
57
|
Provides-Extra: excel
|
|
42
58
|
Requires-Dist: openpyxl<4.0.0,>=3.1.5; extra == "excel"
|
|
43
59
|
Provides-Extra: dataframe
|
|
44
|
-
Requires-Dist: ibis-framework
|
|
45
|
-
Requires-Dist:
|
|
60
|
+
Requires-Dist: ibis-framework<13.0.0,>=10.0.0; extra == "dataframe"
|
|
61
|
+
Requires-Dist: numpy<3,>=1.23.2; extra == "dataframe"
|
|
62
|
+
Requires-Dist: packaging<27.0,>=21.3; extra == "dataframe"
|
|
63
|
+
Requires-Dist: pandas<4,>=1.5.3; extra == "dataframe"
|
|
64
|
+
Requires-Dist: pyarrow>=10.0.1; extra == "dataframe"
|
|
65
|
+
Requires-Dist: pyarrow-hotfix>=0.4; extra == "dataframe"
|
|
66
|
+
Requires-Dist: rich>=12.4.4; extra == "dataframe"
|
|
46
67
|
Provides-Extra: databricks
|
|
47
|
-
Requires-Dist: ibis-framework[databricks
|
|
68
|
+
Requires-Dist: ibis-framework[databricks]<13.0.0,>=10.0.0; extra == "databricks"
|
|
48
69
|
Requires-Dist: databricks-sql-connector<4.5.0,>=3.7.0; extra == "databricks"
|
|
49
70
|
Requires-Dist: databricks-sdk<0.123.0; extra == "databricks"
|
|
50
|
-
Requires-Dist:
|
|
71
|
+
Requires-Dist: packaging<27.0,>=21.3; extra == "databricks"
|
|
51
72
|
Provides-Extra: databricks-runtime
|
|
52
|
-
Requires-Dist:
|
|
53
|
-
Requires-Dist: databricks-sql-connector<4.5.0,>=3.7.0; extra == "databricks-runtime"
|
|
54
|
-
Requires-Dist: databricks-sdk<0.123.0; extra == "databricks-runtime"
|
|
55
|
-
Requires-Dist: packaging<27.0,>=21.3; extra == "databricks-runtime"
|
|
73
|
+
Requires-Dist: datacontract-cli[databricks]; extra == "databricks-runtime"
|
|
56
74
|
Provides-Extra: iceberg
|
|
57
75
|
Requires-Dist: pyiceberg==0.11.1; extra == "iceberg"
|
|
58
76
|
Provides-Extra: kafka
|
|
59
|
-
Requires-Dist: datacontract-cli[
|
|
60
|
-
Requires-Dist:
|
|
61
|
-
Requires-Dist:
|
|
77
|
+
Requires-Dist: datacontract-cli[duckdb,parquet]; extra == "kafka"
|
|
78
|
+
Requires-Dist: confluent-kafka<3.0.0,>=2.6.0; extra == "kafka"
|
|
79
|
+
Requires-Dist: fastavro<2.0.0,>=1.9.7; extra == "kafka"
|
|
62
80
|
Provides-Extra: mysql
|
|
63
81
|
Requires-Dist: datacontract-cli[duckdb]; extra == "mysql"
|
|
64
82
|
Provides-Extra: postgres
|
|
@@ -109,12 +127,12 @@ Requires-Dist: pyarrow>=18.1.0; extra == "parquet"
|
|
|
109
127
|
Provides-Extra: rdf
|
|
110
128
|
Requires-Dist: rdflib==7.6.0; extra == "rdf"
|
|
111
129
|
Provides-Extra: api
|
|
112
|
-
Requires-Dist: fastapi<0.
|
|
113
|
-
Requires-Dist: uvicorn<0.
|
|
130
|
+
Requires-Dist: fastapi<0.142.0,>=0.115.0; extra == "api"
|
|
131
|
+
Requires-Dist: uvicorn<0.53.0,>=0.44.0; extra == "api"
|
|
114
132
|
Provides-Extra: protobuf
|
|
115
133
|
Requires-Dist: proto-schema-parser<3.0,>=1.0; extra == "protobuf"
|
|
116
134
|
Provides-Extra: all
|
|
117
|
-
Requires-Dist: datacontract-cli[api,athena,azure,bigquery,csv,databricks,dataframe,dbml,duckdb,excel,gcs,iceberg,impala,kafka,mysql,oracle,parquet,postgres,protobuf,rdf,redshift,s3,snowflake,sqlserver,trino]; extra == "all"
|
|
135
|
+
Requires-Dist: datacontract-cli[api,athena,avro,azure,bigquery,csv,databricks,dataframe,dbml,duckdb,excel,gcs,iceberg,impala,kafka,mysql,oracle,parquet,postgres,protobuf,rdf,redshift,s3,snowflake,sqlserver,trino]; extra == "all"
|
|
118
136
|
Provides-Extra: dev
|
|
119
137
|
Requires-Dist: datacontract-cli[all]; extra == "dev"
|
|
120
138
|
Requires-Dist: httpx==0.28.1; extra == "dev"
|
|
@@ -127,9 +145,9 @@ Requires-Dist: pytest; extra == "dev"
|
|
|
127
145
|
Requires-Dist: pytest-xdist; extra == "dev"
|
|
128
146
|
Requires-Dist: pymssql==2.3.13; extra == "dev"
|
|
129
147
|
Requires-Dist: psycopg2-binary<3.0,>=2.9; extra == "dev"
|
|
130
|
-
Requires-Dist: mysql-connector-python<
|
|
131
|
-
Requires-Dist: ruff==0.16.
|
|
132
|
-
Requires-Dist: testcontainers[kafka,minio,mssql,mysql,postgres]==4.
|
|
148
|
+
Requires-Dist: mysql-connector-python<26.8.0,>=8.0.30; extra == "dev"
|
|
149
|
+
Requires-Dist: ruff==0.16.1; extra == "dev"
|
|
150
|
+
Requires-Dist: testcontainers[kafka,minio,mssql,mysql,postgres]==4.15.0; extra == "dev"
|
|
133
151
|
Requires-Dist: trino==0.338.0; extra == "dev"
|
|
134
152
|
Dynamic: license-file
|
|
135
153
|
|
|
@@ -402,8 +420,8 @@ A list of available extras:
|
|
|
402
420
|
| Google BigQuery | `pip install datacontract-cli[bigquery]` |
|
|
403
421
|
| CSV | `pip install datacontract-cli[csv]` |
|
|
404
422
|
| Databricks Integration | `pip install datacontract-cli[databricks]` |
|
|
405
|
-
| Databricks Runtime | `pip install datacontract-cli[databricks
|
|
406
|
-
| DataFrame (Spark) | `pip install datacontract-cli[dataframe]`
|
|
423
|
+
| Databricks Runtime | `pip install datacontract-cli[databricks]` (also inside Databricks, using the cluster's own Spark session) |
|
|
424
|
+
| DataFrame (Spark) | `pip install datacontract-cli[dataframe]` (PySpark not included — you supply the Spark session) |
|
|
407
425
|
| DBML | `pip install datacontract-cli[dbml]` |
|
|
408
426
|
| DuckDB (local/S3/GCS/Azure file testing) | `pip install datacontract-cli[duckdb]` |
|
|
409
427
|
| Excel | `pip install datacontract-cli[excel]` |
|
|
@@ -444,11 +462,9 @@ It covers everything in depth, including the complete command reference:
|
|
|
444
462
|
|
|
445
463
|
- Install [uv](https://docs.astral.sh/uv/)
|
|
446
464
|
- Python base interpreter should be 3.11.x.
|
|
447
|
-
- A JDK (17 or 21) must be installed for the Spark-based tests (e.g. `test_test_kafka.py`, `test_test_delta.py`, `test_test_dataframe.py`, `test_import_spark.py`). Java 25 is not yet supported. On macOS and Linux you can install one with [SDKMAN](https://sdkman.io): `sdk install java 21.0.11-tem` (or any 21.x build from `sdk list java`). Verify with `java --version`.
|
|
448
465
|
- Docker engine must be running to execute the tests.
|
|
449
466
|
|
|
450
467
|
```bash
|
|
451
|
-
sdk use java 21.0.11-tem
|
|
452
468
|
uv python pin 3.11
|
|
453
469
|
uv venv
|
|
454
470
|
uv pip install -e '.[dev]'
|
|
@@ -481,15 +497,6 @@ Try to sync all groups:
|
|
|
481
497
|
uv sync --all-groups --all-extras
|
|
482
498
|
```
|
|
483
499
|
|
|
484
|
-
#### Errors in tests that use PySpark (e.g. test_test_kafka.py)
|
|
485
|
-
|
|
486
|
-
Ensure you have a JDK 17 or 21 installed. Java 25 causes issues.
|
|
487
|
-
|
|
488
|
-
```
|
|
489
|
-
java --version
|
|
490
|
-
```
|
|
491
|
-
|
|
492
|
-
|
|
493
500
|
### Docker Build
|
|
494
501
|
|
|
495
502
|
```bash
|
|
@@ -267,8 +267,8 @@ A list of available extras:
|
|
|
267
267
|
| Google BigQuery | `pip install datacontract-cli[bigquery]` |
|
|
268
268
|
| CSV | `pip install datacontract-cli[csv]` |
|
|
269
269
|
| Databricks Integration | `pip install datacontract-cli[databricks]` |
|
|
270
|
-
| Databricks Runtime | `pip install datacontract-cli[databricks
|
|
271
|
-
| DataFrame (Spark) | `pip install datacontract-cli[dataframe]`
|
|
270
|
+
| Databricks Runtime | `pip install datacontract-cli[databricks]` (also inside Databricks, using the cluster's own Spark session) |
|
|
271
|
+
| DataFrame (Spark) | `pip install datacontract-cli[dataframe]` (PySpark not included — you supply the Spark session) |
|
|
272
272
|
| DBML | `pip install datacontract-cli[dbml]` |
|
|
273
273
|
| DuckDB (local/S3/GCS/Azure file testing) | `pip install datacontract-cli[duckdb]` |
|
|
274
274
|
| Excel | `pip install datacontract-cli[excel]` |
|
|
@@ -309,11 +309,9 @@ It covers everything in depth, including the complete command reference:
|
|
|
309
309
|
|
|
310
310
|
- Install [uv](https://docs.astral.sh/uv/)
|
|
311
311
|
- Python base interpreter should be 3.11.x.
|
|
312
|
-
- A JDK (17 or 21) must be installed for the Spark-based tests (e.g. `test_test_kafka.py`, `test_test_delta.py`, `test_test_dataframe.py`, `test_import_spark.py`). Java 25 is not yet supported. On macOS and Linux you can install one with [SDKMAN](https://sdkman.io): `sdk install java 21.0.11-tem` (or any 21.x build from `sdk list java`). Verify with `java --version`.
|
|
313
312
|
- Docker engine must be running to execute the tests.
|
|
314
313
|
|
|
315
314
|
```bash
|
|
316
|
-
sdk use java 21.0.11-tem
|
|
317
315
|
uv python pin 3.11
|
|
318
316
|
uv venv
|
|
319
317
|
uv pip install -e '.[dev]'
|
|
@@ -346,15 +344,6 @@ Try to sync all groups:
|
|
|
346
344
|
uv sync --all-groups --all-extras
|
|
347
345
|
```
|
|
348
346
|
|
|
349
|
-
#### Errors in tests that use PySpark (e.g. test_test_kafka.py)
|
|
350
|
-
|
|
351
|
-
Ensure you have a JDK 17 or 21 installed. Java 25 causes issues.
|
|
352
|
-
|
|
353
|
-
```
|
|
354
|
-
java --version
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
|
|
358
347
|
### Docker Build
|
|
359
348
|
|
|
360
349
|
```bash
|
|
@@ -153,6 +153,8 @@ class Config(BaseSettings):
|
|
|
153
153
|
kafka_schema_registry_url: str | None = None
|
|
154
154
|
kafka_schema_registry_username: str | None = None
|
|
155
155
|
kafka_schema_registry_password: SecretStr | None = None
|
|
156
|
+
kafka_max_messages: int | None = None
|
|
157
|
+
kafka_timeout: int | None = None
|
|
156
158
|
|
|
157
159
|
# mysql
|
|
158
160
|
mysql_username: str | None = None
|
|
@@ -558,6 +560,12 @@ class Config(BaseSettings):
|
|
|
558
560
|
def get_kafka_schema_registry_password(self, required: bool = False) -> str | None:
|
|
559
561
|
return self._str_option("kafka_schema_registry_password", required)
|
|
560
562
|
|
|
563
|
+
def get_kafka_max_messages(self) -> int | None:
|
|
564
|
+
return self._int_option("kafka_max_messages")
|
|
565
|
+
|
|
566
|
+
def get_kafka_timeout(self) -> int | None:
|
|
567
|
+
return self._int_option("kafka_timeout")
|
|
568
|
+
|
|
561
569
|
# --- mysql ---
|
|
562
570
|
def get_mysql_username(self, required: bool = False) -> str | None:
|
|
563
571
|
return self._str_option("mysql_username", required)
|
{datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/checks/create_checks.py
RENAMED
|
@@ -48,7 +48,8 @@ def is_check_types(server: Optional[Server]) -> bool:
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
def to_schema_name(schema_object: SchemaObject, server_type: Optional[str]) -> str:
|
|
51
|
-
# Kafka
|
|
51
|
+
# Kafka messages are loaded into a table named after the schema object (the logical
|
|
52
|
+
# name), not after the topic the physicalName holds.
|
|
52
53
|
if server_type == "kafka":
|
|
53
54
|
return schema_object.name
|
|
54
55
|
if schema_object.physicalName:
|
{datacontract_cli-1.0.17 → datacontract_cli-1.1.0}/datacontract/engines/ibis/connections/connect.py
RENAMED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Replaces the per-source soda configuration builders. Each branch maps the
|
|
4
4
|
``Server`` fields and the same ``DATACONTRACT_*`` environment variables the soda
|
|
5
|
-
connections used onto an ``ibis.<backend>.connect(...)`` call. File sources
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
with the ibis duckdb
|
|
5
|
+
connections used onto an ``ibis.<backend>.connect(...)`` call. File sources reuse
|
|
6
|
+
the DuckDB view builder (``duckdb_connection.py``) and Kafka reuses the topic
|
|
7
|
+
reader (``kafka.py``), which likewise loads its messages into DuckDB; both are
|
|
8
|
+
wrapped with the ibis duckdb backend. Only the Spark-session server types
|
|
9
|
+
(``dataframe``, ``databricks``) use the ibis pyspark backend.
|
|
9
10
|
"""
|
|
10
11
|
|
|
11
12
|
from __future__ import annotations
|
|
@@ -73,12 +74,11 @@ def connect_ibis(
|
|
|
73
74
|
return ibis.duckdb.from_connection(con)
|
|
74
75
|
|
|
75
76
|
if server_type == "kafka":
|
|
76
|
-
from datacontract.engines.ibis.connections.kafka import
|
|
77
|
+
from datacontract.engines.ibis.connections.kafka import read_kafka_topic
|
|
77
78
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return ibis.pyspark.connect(session=spark)
|
|
79
|
+
run.log_info(f"Connecting to kafka {server.format} via duckdb")
|
|
80
|
+
con = read_kafka_topic(data_contract, server, run, config, duckdb_connection)
|
|
81
|
+
return ibis.duckdb.from_connection(con)
|
|
82
82
|
|
|
83
83
|
if server_type == "dataframe":
|
|
84
84
|
if spark is None:
|
|
@@ -236,7 +236,7 @@ def _connect_databricks(ibis, server: Server, run: Run, config: Config):
|
|
|
236
236
|
|
|
237
237
|
if token:
|
|
238
238
|
run.log_info("Connecting to databricks with a personal access token")
|
|
239
|
-
return ibis
|
|
239
|
+
return _databricks_connect(ibis, access_token=token, **kwargs)
|
|
240
240
|
|
|
241
241
|
if client_id and client_secret:
|
|
242
242
|
run.log_info("Connecting to databricks with an OAuth service principal (M2M)")
|
|
@@ -244,20 +244,44 @@ def _connect_databricks(ibis, server: Server, run: Run, config: Config):
|
|
|
244
244
|
kwargs["credentials_provider"] = _databricks_credentials_provider(
|
|
245
245
|
service_principal=True, host=sdk_host, client_id=client_id, client_secret=client_secret
|
|
246
246
|
)
|
|
247
|
-
return ibis
|
|
247
|
+
return _databricks_connect(ibis, **kwargs)
|
|
248
248
|
|
|
249
249
|
if profile:
|
|
250
250
|
run.log_info(f"Connecting to databricks with config profile '{profile}'")
|
|
251
251
|
kwargs["credentials_provider"] = _databricks_credentials_provider(profile=profile)
|
|
252
|
-
return ibis
|
|
252
|
+
return _databricks_connect(ibis, **kwargs)
|
|
253
253
|
|
|
254
254
|
if auth_type:
|
|
255
255
|
run.log_info(f"Connecting to databricks with auth_type '{auth_type}'")
|
|
256
|
-
return ibis
|
|
256
|
+
return _databricks_connect(ibis, auth_type=auth_type, **kwargs)
|
|
257
257
|
|
|
258
258
|
# Nothing configured: fail with the same clear message as before.
|
|
259
259
|
token = config.get_databricks_token(required=True)
|
|
260
|
-
return ibis
|
|
260
|
+
return _databricks_connect(ibis, access_token=token, **kwargs)
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
def _databricks_connect(ibis, **kwargs):
|
|
264
|
+
"""Connect to Databricks without creating ibis's memtable staging volume.
|
|
265
|
+
|
|
266
|
+
ibis's Databricks backend creates a staging volume for memtables in the
|
|
267
|
+
target schema at connect time (``CREATE VOLUME IF NOT EXISTS``), named
|
|
268
|
+
after the client host and pid and never cleaned up. Contract tests only
|
|
269
|
+
ever read, so the volume is never used: skipping its setup lets read-only
|
|
270
|
+
principals without CREATE VOLUME permission run tests and keeps repeated
|
|
271
|
+
runs from littering the schema with per-run volumes.
|
|
272
|
+
|
|
273
|
+
Workaround until https://github.com/dataqcompany/ibis/pull/2 (drops the
|
|
274
|
+
CREATE VOLUME requirement for read-only connections) is merged and
|
|
275
|
+
released; then the ``_post_connect`` patch can go.
|
|
276
|
+
"""
|
|
277
|
+
from ibis.backends.databricks import Backend
|
|
278
|
+
|
|
279
|
+
original_post_connect = Backend._post_connect
|
|
280
|
+
Backend._post_connect = lambda self, *, memtable_volume=None: None
|
|
281
|
+
try:
|
|
282
|
+
return ibis.databricks.connect(**kwargs)
|
|
283
|
+
finally:
|
|
284
|
+
Backend._post_connect = original_post_connect
|
|
261
285
|
|
|
262
286
|
|
|
263
287
|
def _databricks_credentials_provider(service_principal: bool = False, **config_kwargs):
|