datacontract-cli 1.0.0__tar.gz → 1.0.2__tar.gz

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