datacontract-cli 1.0.5__tar.gz → 1.0.7__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.
Files changed (366) hide show
  1. {datacontract_cli-1.0.5/datacontract_cli.egg-info → datacontract_cli-1.0.7}/PKG-INFO +7 -6
  2. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/cli.py +23 -0
  3. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/ibis/ibis_check_execute.py +23 -8
  4. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7/datacontract_cli.egg-info}/PKG-INFO +7 -6
  5. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract_cli.egg-info/requires.txt +6 -7
  6. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/pyproject.toml +7 -6
  7. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_cli.py +33 -0
  8. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_ibis_oracle_schema.py +16 -0
  9. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/LICENSE +0 -0
  10. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/MANIFEST.in +0 -0
  11. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/README.md +0 -0
  12. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/__init__.py +0 -0
  13. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/api.py +0 -0
  14. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/catalog/catalog.py +0 -0
  15. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/changelog/__init__.py +0 -0
  16. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/changelog/changelog.py +0 -0
  17. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/changelog/normalize.py +0 -0
  18. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_api.py +0 -0
  19. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_catalog.py +0 -0
  20. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_changelog.py +0 -0
  21. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_ci.py +0 -0
  22. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_dbt.py +0 -0
  23. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_edit.py +0 -0
  24. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_export.py +0 -0
  25. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_import.py +0 -0
  26. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_init.py +0 -0
  27. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_lint.py +0 -0
  28. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_publish.py +0 -0
  29. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/command_test.py +0 -0
  30. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/data_contract.py +0 -0
  31. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/VERSION +0 -0
  32. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/abap-Bs8kvjsq.js +0 -0
  33. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/apex-Dspwrl5m.js +0 -0
  34. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/assets/editor.worker-4.7.0.js +0 -0
  35. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/assets/yaml.worker-4.7.0.js +0 -0
  36. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/azcli-k1BiOau1.js +0 -0
  37. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/bat-BIP72KWc.js +0 -0
  38. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/bicep-VhQeYhS3.js +0 -0
  39. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/cameligo-DnuAXtHg.js +0 -0
  40. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/clojure-BAuDPsal.js +0 -0
  41. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/coffee-BV06qSnj.js +0 -0
  42. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/cpp-Cz8Jeyrf.js +0 -0
  43. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/csharp-F6hhlXFb.js +0 -0
  44. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/csp-KzlEHCyI.js +0 -0
  45. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/css-e4FKntZ3.js +0 -0
  46. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/cssMode-BNkTa2xp.js +0 -0
  47. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/cypher-CpvDGKRr.js +0 -0
  48. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/dart-DdHeFWR0.js +0 -0
  49. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/datacontract-editor.css +0 -0
  50. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/datacontract-editor.es.js +0 -0
  51. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/dockerfile-aoNXDcio.js +0 -0
  52. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/ecl-C4Q0DYuA.js +0 -0
  53. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/elixir-C9X42b0T.js +0 -0
  54. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/flow9-Bff42pfB.js +0 -0
  55. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/freemarker2-Dyfzmb5A.js +0 -0
  56. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/fsharp-C6vPAsHG.js +0 -0
  57. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/go-DEr8zx9f.js +0 -0
  58. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/graphql-BiNBBRFh.js +0 -0
  59. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/handlebars-BtDNI-uC.js +0 -0
  60. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/hcl-2T9lKuFg.js +0 -0
  61. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/html-Cn4TGw_o.js +0 -0
  62. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/htmlMode-Bf84vbo2.js +0 -0
  63. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/index.html +0 -0
  64. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/ini-CZGtssYM.js +0 -0
  65. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/java-B260NeH3.js +0 -0
  66. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/javascript-B86Kac07.js +0 -0
  67. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/jsonMode-Ckgg5lAE.js +0 -0
  68. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/julia-kuNLM9c5.js +0 -0
  69. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/kotlin-Bz6kAefA.js +0 -0
  70. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/less-AZUtS89I.js +0 -0
  71. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/lexon-BcmgnyRb.js +0 -0
  72. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/liquid-D0NPwuu_.js +0 -0
  73. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/logo_fuchsia_v2.svg +0 -0
  74. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/lua-Dz1RbATg.js +0 -0
  75. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/m3-CIMooLFn.js +0 -0
  76. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/markdown-C1BsCK9P.js +0 -0
  77. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/mdx-QFRSBtVQ.js +0 -0
  78. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/mips-BovsnfLQ.js +0 -0
  79. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/monaco-4.7.0.js +0 -0
  80. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/msdax-CiRB2ZB-.js +0 -0
  81. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/mysql-BwdpPE19.js +0 -0
  82. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/objective-c-D4nfHfso.js +0 -0
  83. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/odcs.svg +0 -0
  84. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/pascal--j5-PYtz.js +0 -0
  85. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/pascaligo-C7TcJxNL.js +0 -0
  86. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/perl-BzEWqUb5.js +0 -0
  87. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/pgsql-B_KZ0mGX.js +0 -0
  88. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/php-A19QHzQV.js +0 -0
  89. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/pla-COeKY1hA.js +0 -0
  90. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/postiats-BfMp7zJL.js +0 -0
  91. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/powerquery-B0TS_5Gb.js +0 -0
  92. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/powershell-5jSbKdYB.js +0 -0
  93. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/protobuf-YgnOutn3.js +0 -0
  94. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/pug-DLej6kn5.js +0 -0
  95. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/python-C8RW9B6A.js +0 -0
  96. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/qsharp-AhjqtSHB.js +0 -0
  97. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/r-D-F4P80w.js +0 -0
  98. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/razor-CLZqdY_r.js +0 -0
  99. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/redis-hwwIlMnV.js +0 -0
  100. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/redshift-Bcm_kjEG.js +0 -0
  101. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/restructuredtext-CrdzfPP-.js +0 -0
  102. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/ruby-QC2UNm1s.js +0 -0
  103. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/rust-5aqiQ3L5.js +0 -0
  104. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/sb-B1g1ZfLJ.js +0 -0
  105. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/scala-C2U4R5Gb.js +0 -0
  106. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/scheme-DeFRbslr.js +0 -0
  107. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/scss-RSTCiCmI.js +0 -0
  108. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/shell-BpF-iNu8.js +0 -0
  109. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/solidity-C00r2mbQ.js +0 -0
  110. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/sophia-DVW5ZKDB.js +0 -0
  111. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/sparql-B0nmpxeX.js +0 -0
  112. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/sql-CJwKPERn.js +0 -0
  113. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/st-DPlKG5DT.js +0 -0
  114. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/swift-YZBAbVHV.js +0 -0
  115. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/systemverilog-CDQSaH63.js +0 -0
  116. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/tcl-Dlu8sp6Q.js +0 -0
  117. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/tsMode-yleMwhPq.js +0 -0
  118. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/twig-C5TO7-kw.js +0 -0
  119. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/typescript-CJBeebKU.js +0 -0
  120. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/typespec-BsmjDEu7.js +0 -0
  121. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/vb-ChHvIDrk.js +0 -0
  122. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/wgsl-XEp1ju8c.js +0 -0
  123. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/xml-vC-NMVX1.js +0 -0
  124. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/editor_assets/yaml-Dlf2VF-T.js +0 -0
  125. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/__init__.py +0 -0
  126. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/checks/__init__.py +0 -0
  127. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/checks/check_spec.py +0 -0
  128. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/checks/create_checks.py +0 -0
  129. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/checks/type_normalize.py +0 -0
  130. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/data_contract_test.py +0 -0
  131. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/datacontract/check_azure_blob_file.py +0 -0
  132. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/datacontract/check_that_datacontract_contains_valid_servers_configuration.py +0 -0
  133. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/datacontract/check_that_datacontract_file_exists.py +0 -0
  134. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/fastjsonschema/check_jsonschema.py +0 -0
  135. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/fastjsonschema/s3/s3_read_files.py +0 -0
  136. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/ibis/__init__.py +0 -0
  137. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/ibis/connections/__init__.py +0 -0
  138. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/ibis/connections/connect.py +0 -0
  139. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/ibis/connections/duckdb_connection.py +0 -0
  140. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/ibis/connections/kafka.py +0 -0
  141. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/ibis/connections/oracle_patch.py +0 -0
  142. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/engines/ibis/dtype_category.py +0 -0
  143. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/__init__.py +0 -0
  144. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/avro_exporter.py +0 -0
  145. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/avro_idl_exporter.py +0 -0
  146. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/bigquery_exporter.py +0 -0
  147. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/custom_exporter.py +0 -0
  148. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/data_caterer_exporter.py +0 -0
  149. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/dbml_exporter.py +0 -0
  150. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/dbt_exporter.py +0 -0
  151. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/dcs_exporter.py +0 -0
  152. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/dqx_exporter.py +0 -0
  153. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/duckdb_type_converter.py +0 -0
  154. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/excel_exporter.py +0 -0
  155. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/exporter.py +0 -0
  156. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/exporter_factory.py +0 -0
  157. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/go_exporter.py +0 -0
  158. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/great_expectations_exporter.py +0 -0
  159. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/html_exporter.py +0 -0
  160. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/iceberg_exporter.py +0 -0
  161. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/jsonschema_exporter.py +0 -0
  162. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/markdown_exporter.py +0 -0
  163. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/mermaid_exporter.py +0 -0
  164. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/odcs_export_helper.py +0 -0
  165. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/odcs_v3_exporter.py +0 -0
  166. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/pandas_type_converter.py +0 -0
  167. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/protobuf_exporter.py +0 -0
  168. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/pydantic_exporter.py +0 -0
  169. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/rdf_exporter.py +0 -0
  170. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/sodacl_check_builder.py +0 -0
  171. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/sodacl_exporter.py +0 -0
  172. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/spark_exporter.py +0 -0
  173. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/sql_exporter.py +0 -0
  174. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/sql_type_converter.py +0 -0
  175. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/export/sqlalchemy_exporter.py +0 -0
  176. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/avro_importer.py +0 -0
  177. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/bigquery_importer.py +0 -0
  178. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/csv_importer.py +0 -0
  179. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/dbml_importer.py +0 -0
  180. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/dbt_importer.py +0 -0
  181. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/dcs_importer.py +0 -0
  182. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/excel_importer.py +0 -0
  183. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/glue_importer.py +0 -0
  184. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/iceberg_importer.py +0 -0
  185. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/importer.py +0 -0
  186. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/importer_factory.py +0 -0
  187. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/json_importer.py +0 -0
  188. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/jsonschema_importer.py +0 -0
  189. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/odcs_helper.py +0 -0
  190. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/odcs_importer.py +0 -0
  191. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/parquet_importer.py +0 -0
  192. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/powerbi_importer.py +0 -0
  193. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/protobuf_importer.py +0 -0
  194. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/snowflake_importer.py +0 -0
  195. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/spark_importer.py +0 -0
  196. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/sql_importer.py +0 -0
  197. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/imports/unity_importer.py +0 -0
  198. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/init/init_template.py +0 -0
  199. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/integration/dbt_sync.py +0 -0
  200. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/integration/dbt_test_mapping.py +0 -0
  201. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/integration/entropy_data.py +0 -0
  202. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/lint/files.py +0 -0
  203. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/lint/resolve.py +0 -0
  204. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/lint/resources.py +0 -0
  205. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/lint/schema.py +0 -0
  206. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/lint/urls.py +0 -0
  207. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/model/changelog.py +0 -0
  208. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/model/exceptions.py +0 -0
  209. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/model/odcs.py +0 -0
  210. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/model/run.py +0 -0
  211. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/model/server.py +0 -0
  212. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/output/__init__.py +0 -0
  213. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/output/ci_output.py +0 -0
  214. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/output/json_test_results.py +0 -0
  215. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/output/junit_test_results.py +0 -0
  216. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/output/output_format.py +0 -0
  217. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/output/test_results_writer.py +0 -0
  218. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/output/text_changelog_results.py +0 -0
  219. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/py.typed +0 -0
  220. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/schemas/datacontract-1.1.0.init.yaml +0 -0
  221. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/schemas/datacontract-1.1.0.schema.json +0 -0
  222. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/schemas/datacontract-1.2.0.init.yaml +0 -0
  223. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/schemas/datacontract-1.2.0.schema.json +0 -0
  224. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/schemas/datacontract-1.2.1.init.yaml +0 -0
  225. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/schemas/datacontract-1.2.1.schema.json +0 -0
  226. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/schemas/odcs-3.0.1.schema.json +0 -0
  227. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/schemas/odcs-3.0.2.schema.json +0 -0
  228. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/schemas/odcs-3.1.0.init.yaml +0 -0
  229. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/schemas/odcs-3.1.0.schema.json +0 -0
  230. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/datacontract.html +0 -0
  231. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/datacontract_odcs.html +0 -0
  232. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/index.html +0 -0
  233. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/partials/datacontract_information.html +0 -0
  234. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/partials/datacontract_servicelevels.html +0 -0
  235. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/partials/datacontract_terms.html +0 -0
  236. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/partials/definition.html +0 -0
  237. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/partials/example.html +0 -0
  238. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/partials/model_field.html +0 -0
  239. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/partials/quality.html +0 -0
  240. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/partials/server.html +0 -0
  241. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract/templates/style/output.css +0 -0
  242. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract_cli.egg-info/SOURCES.txt +0 -0
  243. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract_cli.egg-info/dependency_links.txt +0 -0
  244. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract_cli.egg-info/entry_points.txt +0 -0
  245. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/datacontract_cli.egg-info/top_level.txt +0 -0
  246. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/setup.cfg +0 -0
  247. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_api.py +0 -0
  248. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_catalog.py +0 -0
  249. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_changelog.py +0 -0
  250. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_changelog_engine.py +0 -0
  251. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_changelog_normalize.py +0 -0
  252. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_changelog_output_text.py +0 -0
  253. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_ci_output.py +0 -0
  254. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_connect_databricks.py +0 -0
  255. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_connect_sqlserver.py +0 -0
  256. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_connect_trino.py +0 -0
  257. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_data_contract.py +0 -0
  258. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_data_contract_checks.py +0 -0
  259. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_data_contract_specification.py +0 -0
  260. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_dbt_sync.py +0 -0
  261. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_dbt_test_mapping.py +0 -0
  262. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_description_linter.py +0 -0
  263. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_download_datacontract_file.py +0 -0
  264. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_duckdb_json.py +0 -0
  265. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_edit.py +0 -0
  266. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_avro.py +0 -0
  267. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_avro_idl.py +0 -0
  268. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_bigquery.py +0 -0
  269. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_complex_data_contract.py +0 -0
  270. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_custom.py +0 -0
  271. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_custom_exporter.py +0 -0
  272. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_custom_model.py +0 -0
  273. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_data_caterer.py +0 -0
  274. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_dbml.py +0 -0
  275. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_dbt_models.py +0 -0
  276. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_dbt_sources.py +0 -0
  277. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_dbt_staging_sql.py +0 -0
  278. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_dqx.py +0 -0
  279. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_excel.py +0 -0
  280. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_go.py +0 -0
  281. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_great_expectations.py +0 -0
  282. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_html.py +0 -0
  283. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_iceberg.py +0 -0
  284. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_jsonschema.py +0 -0
  285. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_markdown.py +0 -0
  286. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_mermaid.py +0 -0
  287. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_odcs_v3.py +0 -0
  288. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_protobuf.py +0 -0
  289. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_pydantic.py +0 -0
  290. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_rdf.py +0 -0
  291. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_sodacl.py +0 -0
  292. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_spark.py +0 -0
  293. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_sql.py +0 -0
  294. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_sql_clickhouse.py +0 -0
  295. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_sql_query.py +0 -0
  296. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_export_sqlalchemy.py +0 -0
  297. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_ibis_mssql_pattern.py +0 -0
  298. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_avro.py +0 -0
  299. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_bigquery.py +0 -0
  300. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_csv.py +0 -0
  301. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_dbml.py +0 -0
  302. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_dbt.py +0 -0
  303. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_excel.py +0 -0
  304. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_glue.py +0 -0
  305. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_iceberg.py +0 -0
  306. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_json.py +0 -0
  307. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_jsonschema.py +0 -0
  308. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_odcs_v3.py +0 -0
  309. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_parquet.py +0 -0
  310. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_powerbi.py +0 -0
  311. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_protobuf.py +0 -0
  312. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_snowflake.py +0 -0
  313. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_spark.py +0 -0
  314. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_sql_oracle.py +0 -0
  315. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_sql_postgres.py +0 -0
  316. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_sql_snowflake.py +0 -0
  317. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_sql_sqlserver.py +0 -0
  318. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_import_unity_file.py +0 -0
  319. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_integration_entropydata.py +0 -0
  320. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_lint.py +0 -0
  321. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_oracle_patch.py +0 -0
  322. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_require_env.py +0 -0
  323. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_resolve.py +0 -0
  324. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_resolve_definitions.py +0 -0
  325. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_roundtrip_jsonschema.py +0 -0
  326. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_sql_type_converter_physicaltype.py +0 -0
  327. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_api.py +0 -0
  328. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_athena_iceberg.py +0 -0
  329. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_azure_blob_file.py +0 -0
  330. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_azure_remote.py +0 -0
  331. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_bigquery.py +0 -0
  332. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_checks_filter.py +0 -0
  333. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_databricks.py +0 -0
  334. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_dataframe.py +0 -0
  335. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_delta.py +0 -0
  336. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_diagnostics.py +0 -0
  337. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_failed_samples.py +0 -0
  338. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_gcs_csv_remote.py +0 -0
  339. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_gcs_json_remote.py +0 -0
  340. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_kafka.py +0 -0
  341. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_kafka_remote.py +0 -0
  342. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_local_json.py +0 -0
  343. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_local_json_nd.py +0 -0
  344. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_mysql.py +0 -0
  345. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_oracle.py +0 -0
  346. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_oracle_xe.py +0 -0
  347. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_output_json.py +0 -0
  348. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_output_junit.py +0 -0
  349. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_parquet.py +0 -0
  350. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_postgres.py +0 -0
  351. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_quality.py +0 -0
  352. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_quality_local_fallback.py +0 -0
  353. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_quality_percent_severity.py +0 -0
  354. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_s3_csv.py +0 -0
  355. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_s3_delta.py +0 -0
  356. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_s3_json.py +0 -0
  357. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_s3_json_complex.py +0 -0
  358. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_s3_json_multiple_models.py +0 -0
  359. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_s3_json_remote.py +0 -0
  360. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_schema_evolution.py +0 -0
  361. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_server_not_found.py +0 -0
  362. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_snowflake.py +0 -0
  363. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_soda_connection_error.py +0 -0
  364. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_sqlserver.py +0 -0
  365. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_test_trino.py +0 -0
  366. {datacontract_cli-1.0.5 → datacontract_cli-1.0.7}/tests/test_type_normalize.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datacontract-cli
3
- Version: 1.0.5
3
+ Version: 1.0.7
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
@@ -16,6 +16,7 @@ Requires-Dist: click<9.0.0,>=8.1.0
16
16
  Requires-Dist: pydantic<2.14.0,>=2.8.2
17
17
  Requires-Dist: pyyaml~=6.0.1
18
18
  Requires-Dist: requests<2.35,>=2.31
19
+ Requires-Dist: truststore<1.0,>=0.10
19
20
  Requires-Dist: fastjsonschema<2.22.0,>=2.19.1
20
21
  Requires-Dist: jsonschema<5.0.0,>=4.23.0
21
22
  Requires-Dist: pytz>=2024.1
@@ -40,7 +41,7 @@ Requires-Dist: openpyxl<4.0.0,>=3.1.5; extra == "excel"
40
41
  Provides-Extra: databricks
41
42
  Requires-Dist: ibis-framework[databricks,pyspark]<13.0.0,>=10.0.0; extra == "databricks"
42
43
  Requires-Dist: databricks-sql-connector<4.4.0,>=3.7.0; extra == "databricks"
43
- Requires-Dist: databricks-sdk<0.118.0; extra == "databricks"
44
+ Requires-Dist: databricks-sdk<0.119.0; extra == "databricks"
44
45
  Requires-Dist: pyspark<5.0.0,>=3.5.0; extra == "databricks"
45
46
  Provides-Extra: iceberg
46
47
  Requires-Dist: pyiceberg==0.11.1; extra == "iceberg"
@@ -65,9 +66,9 @@ Requires-Dist: datacontract-cli[duckdb]; extra == "gcs"
65
66
  Requires-Dist: duckdb-extension-httpfs<1.6.0,>=1.5.0; extra == "gcs"
66
67
  Provides-Extra: azure
67
68
  Requires-Dist: datacontract-cli[duckdb]; extra == "azure"
68
- Requires-Dist: duckdb-extension-azure<1.1.0,>=1.0.3; (platform_system != "Linux" or platform_machine != "aarch64") and extra == "azure"
69
+ Requires-Dist: duckdb-extension-azure<1.6.0,>=1.5.0; extra == "azure"
69
70
  Requires-Dist: azure-identity<1.18,>=1.17.1; extra == "azure"
70
- Requires-Dist: azure-storage-blob<12.30,>=12.24; extra == "azure"
71
+ Requires-Dist: azure-storage-blob<12.31,>=12.24; extra == "azure"
71
72
  Provides-Extra: snowflake
72
73
  Requires-Dist: snowflake-connector-python[pandas]<4.7,>=3.6; extra == "snowflake"
73
74
  Requires-Dist: ibis-framework[snowflake]<13.0.0,>=10.0.0; extra == "snowflake"
@@ -91,7 +92,7 @@ Requires-Dist: pyarrow>=18.1.0; extra == "parquet"
91
92
  Provides-Extra: rdf
92
93
  Requires-Dist: rdflib==7.6.0; extra == "rdf"
93
94
  Provides-Extra: api
94
- Requires-Dist: fastapi<0.138.0,>=0.115.0; extra == "api"
95
+ Requires-Dist: fastapi<0.139.0,>=0.115.0; extra == "api"
95
96
  Requires-Dist: uvicorn<0.50.0,>=0.44.0; extra == "api"
96
97
  Provides-Extra: protobuf
97
98
  Requires-Dist: proto-schema-parser<3.0,>=1.0; extra == "protobuf"
@@ -110,7 +111,7 @@ Requires-Dist: pytest-xdist; extra == "dev"
110
111
  Requires-Dist: pymssql==2.3.13; extra == "dev"
111
112
  Requires-Dist: psycopg2-binary<3.0,>=2.9; extra == "dev"
112
113
  Requires-Dist: mysql-connector-python<9.7.0,>=8.0.30; extra == "dev"
113
- Requires-Dist: ruff==0.15.17; extra == "dev"
114
+ Requires-Dist: ruff==0.15.18; extra == "dev"
114
115
  Requires-Dist: testcontainers[kafka,minio,mssql,mysql,postgres]==4.14.2; extra == "dev"
115
116
  Requires-Dist: trino==0.337.0; extra == "dev"
116
117
  Dynamic: license-file
@@ -111,6 +111,19 @@ def version_callback(value: bool):
111
111
  raise typer.Exit()
112
112
 
113
113
 
114
+ def inject_system_truststore() -> None:
115
+ """Verify TLS using the operating system's certificate trust store instead of the
116
+ bundled CA certificates. This lets the CLI work behind corporate proxies or with
117
+ internal CAs whose root certificates are installed in the OS trust store but not in
118
+ the certifi bundle that requests uses by default."""
119
+ try:
120
+ import truststore
121
+ except ImportError:
122
+ console.print("[red]--system-truststore requires the 'truststore' package, which is not installed.[/red]")
123
+ raise typer.Exit(code=1)
124
+ truststore.inject_into_ssl()
125
+
126
+
114
127
  @app.callback()
115
128
  def common(
116
129
  ctx: typer.Context,
@@ -121,6 +134,13 @@ def common(
121
134
  callback=version_callback,
122
135
  is_eager=True,
123
136
  ),
137
+ system_truststore: bool = typer.Option(
138
+ False,
139
+ "--system-truststore",
140
+ help="Verify TLS using the operating system's certificate trust store "
141
+ "instead of the bundled CA certificates (e.g. behind a corporate proxy or internal CA).",
142
+ envvar="DATACONTRACT_SYSTEM_TRUSTSTORE",
143
+ ),
124
144
  ):
125
145
  """
126
146
  The datacontract CLI is an open source command-line tool for working with Data Contracts (https://datacontract.com).
@@ -134,6 +154,9 @@ def common(
134
154
  # Already-set environment variables take precedence.
135
155
  load_dotenv(dotenv_path=find_dotenv(usecwd=True), override=False)
136
156
 
157
+ if system_truststore:
158
+ inject_system_truststore()
159
+
137
160
 
138
161
  def enable_debug_logging(debug: bool, otherwise_disable_stderr: bool = False):
139
162
  if not debug and otherwise_disable_stderr:
@@ -849,16 +849,31 @@ def _resolve_col(columns: dict, field: str) -> str:
849
849
 
850
850
 
851
851
  def _table_database(con, server: Optional[Server]) -> Optional[str]:
852
- """The schema (owner) to qualify the table with, or ``None``.
853
-
854
- Oracle logs in as one user but the tables may be owned by a different schema
855
- (``server.schema``). ibis defaults the owner to the login user during
856
- introspection, so an unqualified lookup raises ``TableNotFound``. Other
857
- backends already pin the schema at connect time, so only Oracle needs this.
852
+ """The schema to qualify the table with during introspection, or ``None``.
853
+
854
+ Two backends need the contract's ``server.schema`` passed explicitly instead
855
+ of relying on ibis's default:
856
+
857
+ - **Oracle** logs in as one user but the tables may be owned by a different
858
+ schema (``server.schema``). ibis defaults the owner to the login user, so
859
+ an unqualified lookup raises ``TableNotFound``.
860
+ - **Redshift** has no dedicated ibis backend and goes through the Postgres
861
+ backend (``con.name == "postgres"``). When no schema is passed, ibis's
862
+ Postgres introspection resolves the active schema with ``SELECT
863
+ current_schema`` (no parentheses) — valid on PostgreSQL but rejected by
864
+ Redshift with ``column "current_schema" does not exist``, since Redshift
865
+ only supports the parenthesized ``current_schema()``. Passing the schema
866
+ explicitly skips that query.
867
+
868
+ Other backends pin the schema at connect time and need no qualifier.
858
869
  """
859
- if server is None:
870
+ if server is None or not server.schema_:
860
871
  return None
861
- if getattr(con, "name", None) == "oracle" and server.schema_:
872
+ if getattr(con, "name", None) == "oracle":
873
+ return server.schema_
874
+ # Redshift rides the Postgres backend, so detect it by the contract's server
875
+ # type rather than con.name.
876
+ if get_server_type(server) == "redshift":
862
877
  return server.schema_
863
878
  return None
864
879
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datacontract-cli
3
- Version: 1.0.5
3
+ Version: 1.0.7
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
@@ -16,6 +16,7 @@ Requires-Dist: click<9.0.0,>=8.1.0
16
16
  Requires-Dist: pydantic<2.14.0,>=2.8.2
17
17
  Requires-Dist: pyyaml~=6.0.1
18
18
  Requires-Dist: requests<2.35,>=2.31
19
+ Requires-Dist: truststore<1.0,>=0.10
19
20
  Requires-Dist: fastjsonschema<2.22.0,>=2.19.1
20
21
  Requires-Dist: jsonschema<5.0.0,>=4.23.0
21
22
  Requires-Dist: pytz>=2024.1
@@ -40,7 +41,7 @@ Requires-Dist: openpyxl<4.0.0,>=3.1.5; extra == "excel"
40
41
  Provides-Extra: databricks
41
42
  Requires-Dist: ibis-framework[databricks,pyspark]<13.0.0,>=10.0.0; extra == "databricks"
42
43
  Requires-Dist: databricks-sql-connector<4.4.0,>=3.7.0; extra == "databricks"
43
- Requires-Dist: databricks-sdk<0.118.0; extra == "databricks"
44
+ Requires-Dist: databricks-sdk<0.119.0; extra == "databricks"
44
45
  Requires-Dist: pyspark<5.0.0,>=3.5.0; extra == "databricks"
45
46
  Provides-Extra: iceberg
46
47
  Requires-Dist: pyiceberg==0.11.1; extra == "iceberg"
@@ -65,9 +66,9 @@ Requires-Dist: datacontract-cli[duckdb]; extra == "gcs"
65
66
  Requires-Dist: duckdb-extension-httpfs<1.6.0,>=1.5.0; extra == "gcs"
66
67
  Provides-Extra: azure
67
68
  Requires-Dist: datacontract-cli[duckdb]; extra == "azure"
68
- Requires-Dist: duckdb-extension-azure<1.1.0,>=1.0.3; (platform_system != "Linux" or platform_machine != "aarch64") and extra == "azure"
69
+ Requires-Dist: duckdb-extension-azure<1.6.0,>=1.5.0; extra == "azure"
69
70
  Requires-Dist: azure-identity<1.18,>=1.17.1; extra == "azure"
70
- Requires-Dist: azure-storage-blob<12.30,>=12.24; extra == "azure"
71
+ Requires-Dist: azure-storage-blob<12.31,>=12.24; extra == "azure"
71
72
  Provides-Extra: snowflake
72
73
  Requires-Dist: snowflake-connector-python[pandas]<4.7,>=3.6; extra == "snowflake"
73
74
  Requires-Dist: ibis-framework[snowflake]<13.0.0,>=10.0.0; extra == "snowflake"
@@ -91,7 +92,7 @@ Requires-Dist: pyarrow>=18.1.0; extra == "parquet"
91
92
  Provides-Extra: rdf
92
93
  Requires-Dist: rdflib==7.6.0; extra == "rdf"
93
94
  Provides-Extra: api
94
- Requires-Dist: fastapi<0.138.0,>=0.115.0; extra == "api"
95
+ Requires-Dist: fastapi<0.139.0,>=0.115.0; extra == "api"
95
96
  Requires-Dist: uvicorn<0.50.0,>=0.44.0; extra == "api"
96
97
  Provides-Extra: protobuf
97
98
  Requires-Dist: proto-schema-parser<3.0,>=1.0; extra == "protobuf"
@@ -110,7 +111,7 @@ Requires-Dist: pytest-xdist; extra == "dev"
110
111
  Requires-Dist: pymssql==2.3.13; extra == "dev"
111
112
  Requires-Dist: psycopg2-binary<3.0,>=2.9; extra == "dev"
112
113
  Requires-Dist: mysql-connector-python<9.7.0,>=8.0.30; extra == "dev"
113
- Requires-Dist: ruff==0.15.17; extra == "dev"
114
+ Requires-Dist: ruff==0.15.18; extra == "dev"
114
115
  Requires-Dist: testcontainers[kafka,minio,mssql,mysql,postgres]==4.14.2; extra == "dev"
115
116
  Requires-Dist: trino==0.337.0; extra == "dev"
116
117
  Dynamic: license-file
@@ -3,6 +3,7 @@ click<9.0.0,>=8.1.0
3
3
  pydantic<2.14.0,>=2.8.2
4
4
  pyyaml~=6.0.1
5
5
  requests<2.35,>=2.31
6
+ truststore<1.0,>=0.10
6
7
  fastjsonschema<2.22.0,>=2.19.1
7
8
  jsonschema<5.0.0,>=4.23.0
8
9
  pytz>=2024.1
@@ -21,7 +22,7 @@ deepdiff<10.0.0,>=6.0.0
21
22
  datacontract-cli[api,athena,azure,bigquery,csv,databricks,dbml,duckdb,excel,gcs,iceberg,impala,kafka,mysql,oracle,parquet,postgres,protobuf,rdf,redshift,s3,snowflake,sqlserver,trino]
22
23
 
23
24
  [api]
24
- fastapi<0.138.0,>=0.115.0
25
+ fastapi<0.139.0,>=0.115.0
25
26
  uvicorn<0.50.0,>=0.44.0
26
27
 
27
28
  [athena]
@@ -32,11 +33,9 @@ avro==1.12.1
32
33
 
33
34
  [azure]
34
35
  datacontract-cli[duckdb]
36
+ duckdb-extension-azure<1.6.0,>=1.5.0
35
37
  azure-identity<1.18,>=1.17.1
36
- azure-storage-blob<12.30,>=12.24
37
-
38
- [azure:platform_system != "Linux" or platform_machine != "aarch64"]
39
- duckdb-extension-azure<1.1.0,>=1.0.3
38
+ azure-storage-blob<12.31,>=12.24
40
39
 
41
40
  [bigquery]
42
41
  ibis-framework[bigquery]<13.0.0,>=10.0.0
@@ -47,7 +46,7 @@ pandas>=2.0.0
47
46
  [databricks]
48
47
  ibis-framework[databricks,pyspark]<13.0.0,>=10.0.0
49
48
  databricks-sql-connector<4.4.0,>=3.7.0
50
- databricks-sdk<0.118.0
49
+ databricks-sdk<0.119.0
51
50
  pyspark<5.0.0,>=3.5.0
52
51
 
53
52
  [dbml]
@@ -66,7 +65,7 @@ pytest-xdist
66
65
  pymssql==2.3.13
67
66
  psycopg2-binary<3.0,>=2.9
68
67
  mysql-connector-python<9.7.0,>=8.0.30
69
- ruff==0.15.17
68
+ ruff==0.15.18
70
69
  testcontainers[kafka,minio,mssql,mysql,postgres]==4.14.2
71
70
  trino==0.337.0
72
71
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "datacontract-cli"
3
- version = "1.0.5"
3
+ version = "1.0.7"
4
4
  description = "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
  license = "MIT"
6
6
  readme = "README.md"
@@ -20,6 +20,7 @@ dependencies = [
20
20
  "pydantic>=2.8.2,<2.14.0",
21
21
  "pyyaml~=6.0.1",
22
22
  "requests>=2.31,<2.35",
23
+ "truststore>=0.10,<1.0",
23
24
  "fastjsonschema>=2.19.1,<2.22.0",
24
25
  "jsonschema>=4.23.0,<5.0.0",
25
26
  "pytz>=2024.1",
@@ -57,7 +58,7 @@ excel = [
57
58
  databricks = [
58
59
  "ibis-framework[databricks,pyspark]>=10.0.0,<13.0.0",
59
60
  "databricks-sql-connector>=3.7.0,<4.4.0",
60
- "databricks-sdk<0.118.0",
61
+ "databricks-sdk<0.119.0",
61
62
  # Not capped to Spark 3.5.x like older builds were: the databricks path uses a
62
63
  # caller-provided Spark session (or the databricks SQL connector) and never
63
64
  # loads the Kafka/Avro connector jars, so it isn't tied to a Scala/Spark line.
@@ -117,9 +118,9 @@ gcs = [
117
118
 
118
119
  azure = [
119
120
  "datacontract-cli[duckdb]",
120
- 'duckdb-extension-azure>=1.0.3,<1.1.0; platform_system != "Linux" or platform_machine != "aarch64"',
121
+ "duckdb-extension-azure>=1.5.0,<1.6.0",
121
122
  "azure-identity>=1.17.1,<1.18",
122
- "azure-storage-blob>=12.24,<12.30",
123
+ "azure-storage-blob>=12.24,<12.31",
123
124
  ]
124
125
 
125
126
  snowflake = [
@@ -168,7 +169,7 @@ rdf = [
168
169
  ]
169
170
 
170
171
  api = [
171
- "fastapi>=0.115.0,<0.138.0",
172
+ "fastapi>=0.115.0,<0.139.0",
172
173
  "uvicorn>=0.44.0,<0.50.0",
173
174
  ]
174
175
 
@@ -198,7 +199,7 @@ dev = [
198
199
  # psycopg v3 and DuckDB's mysql extension respectively).
199
200
  "psycopg2-binary>=2.9,<3.0",
200
201
  "mysql-connector-python>=8.0.30,<9.7.0",
201
- "ruff==0.15.17",
202
+ "ruff==0.15.18",
202
203
  "testcontainers[minio,postgres,kafka,mssql,mysql]==4.14.2",
203
204
  "trino==0.337.0",
204
205
  ]
@@ -73,6 +73,39 @@ def test_env_file_does_not_override_existing_environment_variables(tmp_path, mon
73
73
  assert os.environ.get("DATACONTRACT_TEST_DOTENV_VAR") == "from-environment"
74
74
 
75
75
 
76
+ def test_system_truststore_option_in_help():
77
+ result = runner.invoke(app, ["--help"], env={"COLUMNS": "200"})
78
+ assert result.exit_code == 0
79
+ plain_output = re.sub(r"\x1b\[[0-9;]*m", "", result.stdout)
80
+ assert "--system-truststore" in plain_output
81
+
82
+
83
+ def test_system_truststore_flag_injects(monkeypatch):
84
+ calls = []
85
+ monkeypatch.setattr("datacontract.cli.inject_system_truststore", lambda: calls.append(True))
86
+ result = runner.invoke(app, ["--system-truststore", "lint", "unknown.yaml"])
87
+ assert result.exit_code == 1 # file does not exist, but the app callback has run
88
+ assert calls == [True]
89
+
90
+
91
+ def test_system_truststore_env_var_injects(monkeypatch):
92
+ calls = []
93
+ monkeypatch.setattr("datacontract.cli.inject_system_truststore", lambda: calls.append(True))
94
+ monkeypatch.setenv("DATACONTRACT_SYSTEM_TRUSTSTORE", "1")
95
+ result = runner.invoke(app, ["lint", "unknown.yaml"])
96
+ assert result.exit_code == 1
97
+ assert calls == [True]
98
+
99
+
100
+ def test_system_truststore_not_injected_by_default(monkeypatch):
101
+ calls = []
102
+ monkeypatch.setattr("datacontract.cli.inject_system_truststore", lambda: calls.append(True))
103
+ monkeypatch.delenv("DATACONTRACT_SYSTEM_TRUSTSTORE", raising=False)
104
+ result = runner.invoke(app, ["lint", "unknown.yaml"])
105
+ assert result.exit_code == 1
106
+ assert calls == []
107
+
108
+
76
109
  def test_changelog_help():
77
110
  result = runner.invoke(app, ["changelog", "--help"])
78
111
  assert result.exit_code == 0
@@ -51,6 +51,22 @@ def test_table_database_none_for_non_oracle_backend():
51
51
  assert _table_database(con, server) is None
52
52
 
53
53
 
54
+ def test_table_database_uses_server_schema_for_redshift():
55
+ # Redshift rides the Postgres ibis backend (con.name == "postgres"). Without
56
+ # an explicit schema, ibis introspects via `SELECT current_schema` (no
57
+ # parens), which Redshift rejects ("column current_schema does not exist").
58
+ # Passing the schema explicitly avoids that query.
59
+ server = Server(type="redshift", schema="dwh_academic")
60
+ con = _FakeBackend("postgres", {})
61
+ assert _table_database(con, server) == "dwh_academic"
62
+
63
+
64
+ def test_table_database_none_for_redshift_without_schema():
65
+ server = Server(type="redshift")
66
+ con = _FakeBackend("postgres", {})
67
+ assert _table_database(con, server) is None
68
+
69
+
54
70
  def test_table_database_none_without_server():
55
71
  con = _FakeBackend("oracle", {})
56
72
  assert _table_database(con, None) is None