datacontract-cli 1.0.2__tar.gz → 1.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {datacontract_cli-1.0.2/datacontract_cli.egg-info → datacontract_cli-1.0.3}/PKG-INFO +26 -6
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/README.md +19 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_edit.py +33 -5
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_import.py +20 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/ibis/connections/connect.py +2 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/ibis/ibis_check_execute.py +7 -4
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/importer.py +1 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/importer_factory.py +5 -1
- datacontract_cli-1.0.3/datacontract/imports/powerbi_importer.py +470 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3/datacontract_cli.egg-info}/PKG-INFO +26 -6
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract_cli.egg-info/SOURCES.txt +3 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract_cli.egg-info/requires.txt +6 -5
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/pyproject.toml +7 -6
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_edit.py +7 -0
- datacontract_cli-1.0.3/tests/test_import_powerbi.py +479 -0
- datacontract_cli-1.0.3/tests/test_test_quality_local_fallback.py +13 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/LICENSE +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/MANIFEST.in +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/__init__.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/api.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/catalog/catalog.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/changelog/__init__.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/changelog/changelog.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/changelog/normalize.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/cli.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_api.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_catalog.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_changelog.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_ci.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_dbt.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_export.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_init.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_lint.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_publish.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/command_test.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/data_contract.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/VERSION +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/abap-Bs8kvjsq.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/apex-Dspwrl5m.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/assets/editor.worker-4.7.0.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/assets/yaml.worker-4.7.0.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/azcli-k1BiOau1.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/bat-BIP72KWc.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/bicep-VhQeYhS3.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/cameligo-DnuAXtHg.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/clojure-BAuDPsal.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/coffee-BV06qSnj.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/cpp-Cz8Jeyrf.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/csharp-F6hhlXFb.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/csp-KzlEHCyI.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/css-e4FKntZ3.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/cssMode-BNkTa2xp.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/cypher-CpvDGKRr.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/dart-DdHeFWR0.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/datacontract-editor.css +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/datacontract-editor.es.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/dockerfile-aoNXDcio.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/ecl-C4Q0DYuA.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/elixir-C9X42b0T.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/flow9-Bff42pfB.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/freemarker2-Dyfzmb5A.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/fsharp-C6vPAsHG.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/go-DEr8zx9f.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/graphql-BiNBBRFh.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/handlebars-BtDNI-uC.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/hcl-2T9lKuFg.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/html-Cn4TGw_o.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/htmlMode-Bf84vbo2.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/index.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/ini-CZGtssYM.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/java-B260NeH3.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/javascript-B86Kac07.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/jsonMode-Ckgg5lAE.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/julia-kuNLM9c5.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/kotlin-Bz6kAefA.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/less-AZUtS89I.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/lexon-BcmgnyRb.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/liquid-D0NPwuu_.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/logo_fuchsia_v2.svg +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/lua-Dz1RbATg.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/m3-CIMooLFn.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/markdown-C1BsCK9P.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/mdx-QFRSBtVQ.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/mips-BovsnfLQ.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/monaco-4.7.0.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/msdax-CiRB2ZB-.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/mysql-BwdpPE19.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/objective-c-D4nfHfso.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/odcs.svg +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/pascal--j5-PYtz.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/pascaligo-C7TcJxNL.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/perl-BzEWqUb5.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/pgsql-B_KZ0mGX.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/php-A19QHzQV.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/pla-COeKY1hA.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/postiats-BfMp7zJL.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/powerquery-B0TS_5Gb.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/powershell-5jSbKdYB.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/protobuf-YgnOutn3.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/pug-DLej6kn5.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/python-C8RW9B6A.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/qsharp-AhjqtSHB.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/r-D-F4P80w.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/razor-CLZqdY_r.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/redis-hwwIlMnV.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/redshift-Bcm_kjEG.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/restructuredtext-CrdzfPP-.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/ruby-QC2UNm1s.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/rust-5aqiQ3L5.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/sb-B1g1ZfLJ.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/scala-C2U4R5Gb.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/scheme-DeFRbslr.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/scss-RSTCiCmI.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/shell-BpF-iNu8.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/solidity-C00r2mbQ.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/sophia-DVW5ZKDB.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/sparql-B0nmpxeX.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/sql-CJwKPERn.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/st-DPlKG5DT.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/swift-YZBAbVHV.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/systemverilog-CDQSaH63.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/tcl-Dlu8sp6Q.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/tsMode-yleMwhPq.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/twig-C5TO7-kw.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/typescript-CJBeebKU.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/typespec-BsmjDEu7.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/vb-ChHvIDrk.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/wgsl-XEp1ju8c.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/xml-vC-NMVX1.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/editor_assets/yaml-Dlf2VF-T.js +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/__init__.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/checks/__init__.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/checks/check_spec.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/checks/create_checks.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/checks/type_normalize.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/data_contract_test.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/datacontract/check_that_datacontract_contains_valid_servers_configuration.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/datacontract/check_that_datacontract_file_exists.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/fastjsonschema/check_jsonschema.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/fastjsonschema/s3/s3_read_files.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/ibis/__init__.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/ibis/connections/__init__.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/ibis/connections/duckdb_connection.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/ibis/connections/kafka.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/ibis/dtype_category.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/__init__.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/avro_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/avro_idl_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/bigquery_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/custom_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/data_caterer_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/dbml_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/dbt_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/dcs_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/dqx_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/duckdb_type_converter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/excel_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/exporter_factory.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/go_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/great_expectations_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/html_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/iceberg_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/jsonschema_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/markdown_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/mermaid_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/odcs_export_helper.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/odcs_v3_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/pandas_type_converter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/protobuf_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/pydantic_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/rdf_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/sodacl_check_builder.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/sodacl_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/spark_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/sql_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/sql_type_converter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/export/sqlalchemy_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/avro_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/bigquery_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/csv_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/dbml_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/dbt_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/dcs_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/excel_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/glue_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/iceberg_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/json_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/jsonschema_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/odcs_helper.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/odcs_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/parquet_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/protobuf_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/snowflake_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/spark_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/sql_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/imports/unity_importer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/init/init_template.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/integration/dbt_sync.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/integration/dbt_test_mapping.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/integration/entropy_data.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/lint/files.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/lint/resolve.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/lint/resources.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/lint/schema.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/lint/urls.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/model/changelog.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/model/exceptions.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/model/odcs.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/model/run.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/model/server.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/output/__init__.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/output/ci_output.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/output/json_test_results.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/output/junit_test_results.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/output/output_format.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/output/test_results_writer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/output/text_changelog_results.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/py.typed +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/schemas/datacontract-1.1.0.init.yaml +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/schemas/datacontract-1.1.0.schema.json +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/schemas/datacontract-1.2.0.init.yaml +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/schemas/datacontract-1.2.0.schema.json +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/schemas/datacontract-1.2.1.init.yaml +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/schemas/datacontract-1.2.1.schema.json +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/schemas/odcs-3.0.1.schema.json +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/schemas/odcs-3.0.2.schema.json +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/schemas/odcs-3.1.0.init.yaml +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/schemas/odcs-3.1.0.schema.json +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/datacontract.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/datacontract_odcs.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/index.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/partials/datacontract_information.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/partials/datacontract_servicelevels.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/partials/datacontract_terms.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/partials/definition.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/partials/example.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/partials/model_field.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/partials/quality.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/partials/server.html +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/templates/style/output.css +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract_cli.egg-info/dependency_links.txt +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract_cli.egg-info/entry_points.txt +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract_cli.egg-info/top_level.txt +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/setup.cfg +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_api.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_catalog.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_changelog.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_changelog_engine.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_changelog_normalize.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_changelog_output_text.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_ci_output.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_cli.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_connect_databricks.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_connect_sqlserver.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_data_contract.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_data_contract_checks.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_data_contract_specification.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_dbt_sync.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_dbt_test_mapping.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_description_linter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_download_datacontract_file.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_duckdb_json.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_avro.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_avro_idl.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_bigquery.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_complex_data_contract.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_custom.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_custom_exporter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_custom_model.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_data_caterer.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_dbml.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_dbt_models.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_dbt_sources.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_dbt_staging_sql.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_dqx.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_excel.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_go.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_great_expectations.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_html.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_iceberg.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_jsonschema.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_markdown.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_mermaid.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_odcs_v3.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_protobuf.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_pydantic.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_rdf.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_sodacl.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_spark.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_sql.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_sql_query.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_export_sqlalchemy.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_ibis_mssql_pattern.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_avro.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_bigquery.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_csv.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_dbml.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_dbt.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_excel.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_glue.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_iceberg.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_json.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_jsonschema.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_odcs_v3.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_parquet.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_protobuf.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_snowflake.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_spark.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_sql_oracle.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_sql_postgres.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_sql_snowflake.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_sql_sqlserver.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_import_unity_file.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_integration_entropydata.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_lint.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_require_env.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_resolve.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_resolve_definitions.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_roundtrip_jsonschema.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_sql_type_converter_physicaltype.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_api.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_athena_iceberg.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_azure_remote.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_bigquery.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_checks_filter.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_databricks.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_dataframe.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_delta.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_diagnostics.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_failed_samples.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_gcs_csv_remote.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_gcs_json_remote.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_kafka.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_kafka_remote.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_local_json.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_local_json_nd.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_mysql.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_oracle.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_output_json.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_output_junit.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_parquet.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_postgres.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_quality.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_quality_percent_severity.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_s3_csv.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_s3_delta.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_s3_json.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_s3_json_complex.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_s3_json_multiple_models.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_s3_json_remote.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_schema_evolution.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_server_not_found.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_snowflake.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_soda_connection_error.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/tests/test_test_sqlserver.py +0 -0
- {datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/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.3
|
|
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
|
|
@@ -11,7 +11,8 @@ Classifier: Operating System :: OS Independent
|
|
|
11
11
|
Requires-Python: <3.15,>=3.10
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE
|
|
14
|
-
Requires-Dist: typer<0.
|
|
14
|
+
Requires-Dist: typer<0.27,>=0.18.0
|
|
15
|
+
Requires-Dist: click<9.0.0,>=8.1.0
|
|
15
16
|
Requires-Dist: pydantic<2.14.0,>=2.8.2
|
|
16
17
|
Requires-Dist: pyyaml~=6.0.1
|
|
17
18
|
Requires-Dist: requests<2.35,>=2.31
|
|
@@ -38,8 +39,8 @@ Provides-Extra: excel
|
|
|
38
39
|
Requires-Dist: openpyxl<4.0.0,>=3.1.5; extra == "excel"
|
|
39
40
|
Provides-Extra: databricks
|
|
40
41
|
Requires-Dist: ibis-framework[databricks,pyspark]<13.0.0,>=10.0.0; extra == "databricks"
|
|
41
|
-
Requires-Dist: databricks-sql-connector<4.
|
|
42
|
-
Requires-Dist: databricks-sdk<0.
|
|
42
|
+
Requires-Dist: databricks-sql-connector<4.4.0,>=3.7.0; extra == "databricks"
|
|
43
|
+
Requires-Dist: databricks-sdk<0.118.0; extra == "databricks"
|
|
43
44
|
Requires-Dist: pyspark<5.0.0,>=3.5.0; extra == "databricks"
|
|
44
45
|
Provides-Extra: iceberg
|
|
45
46
|
Requires-Dist: pyiceberg==0.11.1; extra == "iceberg"
|
|
@@ -88,7 +89,7 @@ Requires-Dist: pyarrow>=18.1.0; extra == "parquet"
|
|
|
88
89
|
Provides-Extra: rdf
|
|
89
90
|
Requires-Dist: rdflib==7.6.0; extra == "rdf"
|
|
90
91
|
Provides-Extra: api
|
|
91
|
-
Requires-Dist: fastapi<0.
|
|
92
|
+
Requires-Dist: fastapi<0.138.0,>=0.115.0; extra == "api"
|
|
92
93
|
Requires-Dist: uvicorn<0.50.0,>=0.44.0; extra == "api"
|
|
93
94
|
Provides-Extra: protobuf
|
|
94
95
|
Requires-Dist: proto-schema-parser<3.0,>=1.0; extra == "protobuf"
|
|
@@ -107,7 +108,7 @@ Requires-Dist: pytest-xdist; extra == "dev"
|
|
|
107
108
|
Requires-Dist: pymssql==2.3.13; extra == "dev"
|
|
108
109
|
Requires-Dist: psycopg2-binary<3.0,>=2.9; extra == "dev"
|
|
109
110
|
Requires-Dist: mysql-connector-python<9.7.0,>=8.0.30; extra == "dev"
|
|
110
|
-
Requires-Dist: ruff==0.15.
|
|
111
|
+
Requires-Dist: ruff==0.15.17; extra == "dev"
|
|
111
112
|
Requires-Dist: testcontainers[kafka,minio,mssql,mysql,postgres]==4.14.2; extra == "dev"
|
|
112
113
|
Requires-Dist: trino==0.337.0; extra == "dev"
|
|
113
114
|
Dynamic: license-file
|
|
@@ -2017,6 +2018,7 @@ Usage: datacontract import [OPTIONS] COMMAND [ARGS]...
|
|
|
2017
2018
|
│ spark Import a data contract from a Spark schema. │
|
|
2018
2019
|
│ iceberg Import a data contract from an Iceberg schema. │
|
|
2019
2020
|
│ excel Import a data contract from an Excel file. │
|
|
2021
|
+
│ powerbi Import a data contract from a Power BI semantic model (.pbit, .bim, or .json) file. │
|
|
2020
2022
|
│ snowflake Import a data contract from a Snowflake workspace. │
|
|
2021
2023
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
2022
2024
|
|
|
@@ -2262,6 +2264,24 @@ datacontract import snowflake --source account.canada-central.azure --database d
|
|
|
2262
2264
|
```
|
|
2263
2265
|
</details>
|
|
2264
2266
|
|
|
2267
|
+
<details markdown="1">
|
|
2268
|
+
<summary><strong>Power BI</strong></summary>
|
|
2269
|
+
|
|
2270
|
+
Imports a data contract from a Power BI semantic model. Pass the file via the `source` parameter — a `.pbit` template, a `.bim`, or a `.json` (BIM/TMSL) file. Only the semantic model (tables, columns, measures, and hierarchies) is imported; report pages and visuals are not.
|
|
2271
|
+
|
|
2272
|
+
See the [Power BI documentation](https://learn.microsoft.com/en-us/power-bi/create-reports/desktop-templates) for how to export a `.pbit` file from a `.pbix` file.
|
|
2273
|
+
|
|
2274
|
+
Example:
|
|
2275
|
+
|
|
2276
|
+
```bash
|
|
2277
|
+
datacontract import powerbi --source "test.pbit"
|
|
2278
|
+
|
|
2279
|
+
datacontract import powerbi --source "test.bim"
|
|
2280
|
+
```
|
|
2281
|
+
|
|
2282
|
+
</details>
|
|
2283
|
+
|
|
2284
|
+
|
|
2265
2285
|
### catalog
|
|
2266
2286
|
```
|
|
2267
2287
|
Usage: datacontract catalog [OPTIONS]
|
|
@@ -1903,6 +1903,7 @@ Usage: datacontract import [OPTIONS] COMMAND [ARGS]...
|
|
|
1903
1903
|
│ spark Import a data contract from a Spark schema. │
|
|
1904
1904
|
│ iceberg Import a data contract from an Iceberg schema. │
|
|
1905
1905
|
│ excel Import a data contract from an Excel file. │
|
|
1906
|
+
│ powerbi Import a data contract from a Power BI semantic model (.pbit, .bim, or .json) file. │
|
|
1906
1907
|
│ snowflake Import a data contract from a Snowflake workspace. │
|
|
1907
1908
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
1908
1909
|
|
|
@@ -2148,6 +2149,24 @@ datacontract import snowflake --source account.canada-central.azure --database d
|
|
|
2148
2149
|
```
|
|
2149
2150
|
</details>
|
|
2150
2151
|
|
|
2152
|
+
<details markdown="1">
|
|
2153
|
+
<summary><strong>Power BI</strong></summary>
|
|
2154
|
+
|
|
2155
|
+
Imports a data contract from a Power BI semantic model. Pass the file via the `source` parameter — a `.pbit` template, a `.bim`, or a `.json` (BIM/TMSL) file. Only the semantic model (tables, columns, measures, and hierarchies) is imported; report pages and visuals are not.
|
|
2156
|
+
|
|
2157
|
+
See the [Power BI documentation](https://learn.microsoft.com/en-us/power-bi/create-reports/desktop-templates) for how to export a `.pbit` file from a `.pbix` file.
|
|
2158
|
+
|
|
2159
|
+
Example:
|
|
2160
|
+
|
|
2161
|
+
```bash
|
|
2162
|
+
datacontract import powerbi --source "test.pbit"
|
|
2163
|
+
|
|
2164
|
+
datacontract import powerbi --source "test.bim"
|
|
2165
|
+
```
|
|
2166
|
+
|
|
2167
|
+
</details>
|
|
2168
|
+
|
|
2169
|
+
|
|
2151
2170
|
### catalog
|
|
2152
2171
|
```
|
|
2153
2172
|
Usage: datacontract catalog [OPTIONS]
|
|
@@ -75,9 +75,12 @@ def _cli_version() -> str:
|
|
|
75
75
|
|
|
76
76
|
def _generate_index_html(filename: str) -> str:
|
|
77
77
|
"""
|
|
78
|
-
Generate the editor page
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
Generate the editor page: load the YAML from the local file API, write it back on
|
|
79
|
+
save, and point the editor's test runner at this server's own /test endpoint.
|
|
80
|
+
|
|
81
|
+
The editor runs in EMBEDDED mode, since the file menu (New, Load Example, Open)
|
|
82
|
+
makes no sense when the editor is bound to a single local file. The filename is
|
|
83
|
+
shown in the header via titlePrefix, and Cancel reverts to the file on disk.
|
|
81
84
|
"""
|
|
82
85
|
filename_js = json.dumps(filename)
|
|
83
86
|
file_api_path = f"/api/files/{quote(filename)}"
|
|
@@ -97,7 +100,7 @@ def _generate_index_html(filename: str) -> str:
|
|
|
97
100
|
<body>
|
|
98
101
|
<div id="root"></div>
|
|
99
102
|
<script type="module">
|
|
100
|
-
import {{ init }} from '{EDITOR_ASSETS_PATH}/datacontract-editor.es.js';
|
|
103
|
+
import {{ init, parseYaml }} from '{EDITOR_ASSETS_PATH}/datacontract-editor.es.js';
|
|
101
104
|
|
|
102
105
|
async function initCli() {{
|
|
103
106
|
try {{
|
|
@@ -109,9 +112,22 @@ def _generate_index_html(filename: str) -> str:
|
|
|
109
112
|
|
|
110
113
|
const notify = (notification) => editor?.getStore().getState().addNotification(notification);
|
|
111
114
|
|
|
115
|
+
// The header renders the titlePrefix followed by the contract's name,
|
|
116
|
+
// so only show the filename when the contract has a name.
|
|
117
|
+
let titlePrefix = null;
|
|
118
|
+
try {{
|
|
119
|
+
if (parseYaml(yaml)?.name) {{
|
|
120
|
+
titlePrefix = {filename_js};
|
|
121
|
+
}}
|
|
122
|
+
}} catch {{
|
|
123
|
+
// not parseable: no contract name to show the filename next to
|
|
124
|
+
}}
|
|
125
|
+
|
|
112
126
|
const editor = init({{
|
|
113
127
|
container: '#root',
|
|
114
|
-
mode: '
|
|
128
|
+
mode: 'EMBEDDED',
|
|
129
|
+
showDelete: false,
|
|
130
|
+
titlePrefix: titlePrefix,
|
|
115
131
|
yaml: yaml,
|
|
116
132
|
persistence: 'none',
|
|
117
133
|
initialView: 'form',
|
|
@@ -119,6 +135,18 @@ def _generate_index_html(filename: str) -> str:
|
|
|
119
135
|
enabled: true,
|
|
120
136
|
dataContractCliApiServerUrl: window.location.origin,
|
|
121
137
|
}},
|
|
138
|
+
onCancel: async () => {{
|
|
139
|
+
try {{
|
|
140
|
+
const response = await fetch('{file_api_path}');
|
|
141
|
+
if (!response.ok) {{
|
|
142
|
+
throw new Error(response.statusText);
|
|
143
|
+
}}
|
|
144
|
+
editor.setYaml(await response.text());
|
|
145
|
+
notify({{ type: 'info', message: 'Discarded changes, reloaded ' + {filename_js} }});
|
|
146
|
+
}} catch (error) {{
|
|
147
|
+
notify({{ type: 'error', message: 'Failed to reload ' + {filename_js} + ': ' + error.message, duration: 5000 }});
|
|
148
|
+
}}
|
|
149
|
+
}},
|
|
122
150
|
onSave: async (yamlContent) => {{
|
|
123
151
|
try {{
|
|
124
152
|
const saveResponse = await fetch('{file_api_path}', {{
|
|
@@ -431,6 +431,26 @@ def import_excel(
|
|
|
431
431
|
_write_result(result, output)
|
|
432
432
|
|
|
433
433
|
|
|
434
|
+
@import_app.command(
|
|
435
|
+
name="powerbi",
|
|
436
|
+
epilog="Example: datacontract import powerbi --source SemanticModel.pbit --output datacontract.yaml",
|
|
437
|
+
)
|
|
438
|
+
def import_powerbi(
|
|
439
|
+
source: Annotated[
|
|
440
|
+
Optional[str], typer.Option(help="Path to a Power BI .pbit, .bim, or .json semantic model file.")
|
|
441
|
+
] = None,
|
|
442
|
+
output: output_option = None,
|
|
443
|
+
schema: schema_option = None,
|
|
444
|
+
owner: owner_option = None,
|
|
445
|
+
id: id_option = None,
|
|
446
|
+
debug: debug_option = None,
|
|
447
|
+
):
|
|
448
|
+
"""Import a data contract from a Power BI semantic model (.pbit, .bim, or .json) file."""
|
|
449
|
+
enable_debug_logging(debug)
|
|
450
|
+
result = DataContract.import_from_source(format="powerbi", source=source, schema=schema, owner=owner, id=id)
|
|
451
|
+
_write_result(result, output)
|
|
452
|
+
|
|
453
|
+
|
|
434
454
|
@import_app.command(
|
|
435
455
|
name="snowflake",
|
|
436
456
|
epilog="Example: datacontract import snowflake --source account --database DEMO_DB --schema PUBLIC --output datacontract.yaml",
|
{datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/ibis/connections/connect.py
RENAMED
|
@@ -428,6 +428,7 @@ def _sqlserver_connection_kwargs(server: Server) -> dict:
|
|
|
428
428
|
def _connect_athena(ibis, server: Server):
|
|
429
429
|
s3_access_key_id = os.getenv("DATACONTRACT_S3_ACCESS_KEY_ID")
|
|
430
430
|
s3_secret_access_key = os.getenv("DATACONTRACT_S3_SECRET_ACCESS_KEY")
|
|
431
|
+
s3_session_token = os.getenv("DATACONTRACT_S3_SESSION_TOKEN")
|
|
431
432
|
if not server.schema_:
|
|
432
433
|
raise DataContractException(
|
|
433
434
|
type="athena-connection",
|
|
@@ -446,6 +447,7 @@ def _connect_athena(ibis, server: Server):
|
|
|
446
447
|
s3_staging_dir=server.stagingDir,
|
|
447
448
|
aws_access_key_id=s3_access_key_id,
|
|
448
449
|
aws_secret_access_key=s3_secret_access_key,
|
|
450
|
+
aws_session_token=s3_session_token,
|
|
449
451
|
region_name=os.getenv("DATACONTRACT_S3_REGION") or getattr(server, "region_name", None),
|
|
450
452
|
schema_name=server.schema_,
|
|
451
453
|
)
|
{datacontract_cli-1.0.2 → datacontract_cli-1.0.3}/datacontract/engines/ibis/ibis_check_execute.py
RENAMED
|
@@ -695,10 +695,13 @@ def _run_scalar(con, query: str, dialect: Optional[str]):
|
|
|
695
695
|
try:
|
|
696
696
|
row = cursor.fetchone()
|
|
697
697
|
finally:
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
698
|
+
# On DuckDB, raw_sql returns the shared connection itself; closing it
|
|
699
|
+
# would tear down the connection and break every subsequent check.
|
|
700
|
+
if cursor is not getattr(con, "con", None):
|
|
701
|
+
try:
|
|
702
|
+
cursor.close()
|
|
703
|
+
except Exception:
|
|
704
|
+
pass
|
|
702
705
|
return _py(row[0]) if row else None
|
|
703
706
|
|
|
704
707
|
|
|
@@ -119,12 +119,16 @@ importer_factory.register_lazy_importer(
|
|
|
119
119
|
module_path="datacontract.imports.excel_importer",
|
|
120
120
|
class_name="ExcelImporter",
|
|
121
121
|
)
|
|
122
|
+
importer_factory.register_lazy_importer(
|
|
123
|
+
name=ImportFormat.powerbi,
|
|
124
|
+
module_path="datacontract.imports.powerbi_importer",
|
|
125
|
+
class_name="PowerBiImporter",
|
|
126
|
+
)
|
|
122
127
|
importer_factory.register_lazy_importer(
|
|
123
128
|
name=ImportFormat.snowflake,
|
|
124
129
|
module_path="datacontract.imports.snowflake_importer",
|
|
125
130
|
class_name="SnowflakeImporter",
|
|
126
131
|
)
|
|
127
|
-
|
|
128
132
|
importer_factory.register_lazy_importer(
|
|
129
133
|
name=ImportFormat.json,
|
|
130
134
|
module_path="datacontract.imports.json_importer",
|