datacontract-cli 0.10.33__tar.gz → 0.10.34__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.

Potentially problematic release.


This version of datacontract-cli might be problematic. Click here for more details.

Files changed (220) hide show
  1. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/LICENSE +1 -1
  2. {datacontract_cli-0.10.33/datacontract_cli.egg-info → datacontract_cli-0.10.34}/PKG-INFO +84 -9
  3. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/README.md +76 -3
  4. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/data_contract_checks.py +102 -59
  5. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/data_contract_test.py +37 -0
  6. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/fastjsonschema/check_jsonschema.py +8 -0
  7. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/soda/check_soda_execute.py +6 -0
  8. datacontract_cli-0.10.34/datacontract/engines/soda/connections/athena.py +79 -0
  9. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/soda/connections/duckdb_connection.py +3 -0
  10. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/avro_converter.py +12 -2
  11. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/markdown_converter.py +115 -5
  12. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/sql_type_converter.py +4 -0
  13. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/avro_importer.py +33 -7
  14. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/odcs_v3_importer.py +1 -0
  15. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/spark_importer.py +12 -1
  16. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34/datacontract_cli.egg-info}/PKG-INFO +84 -9
  17. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract_cli.egg-info/SOURCES.txt +3 -0
  18. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract_cli.egg-info/requires.txt +8 -5
  19. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/pyproject.toml +10 -6
  20. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_avro.py +38 -0
  21. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_spark.py +3 -1
  22. datacontract_cli-0.10.34/tests/test_test_api.py +55 -0
  23. datacontract_cli-0.10.34/tests/test_test_athena_iceberg.py +26 -0
  24. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_postgres.py +1 -1
  25. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_quality.py +1 -1
  26. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_sqlserver.py +1 -1
  27. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_trino.py +1 -1
  28. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/MANIFEST.in +0 -0
  29. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/__init__.py +0 -0
  30. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/api.py +0 -0
  31. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/breaking/breaking.py +0 -0
  32. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/breaking/breaking_change.py +0 -0
  33. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/breaking/breaking_rules.py +0 -0
  34. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/catalog/catalog.py +0 -0
  35. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/cli.py +0 -0
  36. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/data_contract.py +0 -0
  37. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/__init__.py +0 -0
  38. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/datacontract/check_that_datacontract_contains_valid_servers_configuration.py +0 -0
  39. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/datacontract/check_that_datacontract_file_exists.py +0 -0
  40. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/fastjsonschema/s3/s3_read_files.py +0 -0
  41. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/soda/__init__.py +0 -0
  42. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/soda/connections/bigquery.py +0 -0
  43. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/soda/connections/databricks.py +0 -0
  44. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/soda/connections/kafka.py +0 -0
  45. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/soda/connections/postgres.py +0 -0
  46. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/soda/connections/snowflake.py +0 -0
  47. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/soda/connections/sqlserver.py +0 -0
  48. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/engines/soda/connections/trino.py +0 -0
  49. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/__init__.py +0 -0
  50. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/avro_idl_converter.py +0 -0
  51. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/bigquery_converter.py +0 -0
  52. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/custom_converter.py +0 -0
  53. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/data_caterer_converter.py +0 -0
  54. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/dbml_converter.py +0 -0
  55. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/dbt_converter.py +0 -0
  56. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/dcs_exporter.py +0 -0
  57. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/duckdb_type_converter.py +0 -0
  58. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/excel_exporter.py +0 -0
  59. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/exporter.py +0 -0
  60. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/exporter_factory.py +0 -0
  61. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/go_converter.py +0 -0
  62. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/great_expectations_converter.py +0 -0
  63. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/html_exporter.py +0 -0
  64. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/iceberg_converter.py +0 -0
  65. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/jsonschema_converter.py +0 -0
  66. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/mermaid_exporter.py +0 -0
  67. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/odcs_v3_exporter.py +0 -0
  68. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/pandas_type_converter.py +0 -0
  69. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/protobuf_converter.py +0 -0
  70. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/pydantic_converter.py +0 -0
  71. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/rdf_converter.py +0 -0
  72. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/sodacl_converter.py +0 -0
  73. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/spark_converter.py +0 -0
  74. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/sql_converter.py +0 -0
  75. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/sqlalchemy_converter.py +0 -0
  76. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/export/terraform_converter.py +0 -0
  77. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/bigquery_importer.py +0 -0
  78. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/csv_importer.py +0 -0
  79. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/dbml_importer.py +0 -0
  80. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/dbt_importer.py +0 -0
  81. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/excel_importer.py +0 -0
  82. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/glue_importer.py +0 -0
  83. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/iceberg_importer.py +0 -0
  84. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/importer.py +0 -0
  85. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/importer_factory.py +0 -0
  86. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/json_importer.py +0 -0
  87. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/jsonschema_importer.py +0 -0
  88. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/odcs_importer.py +0 -0
  89. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/parquet_importer.py +0 -0
  90. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/protobuf_importer.py +0 -0
  91. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/sql_importer.py +0 -0
  92. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/imports/unity_importer.py +0 -0
  93. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/init/init_template.py +0 -0
  94. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/integration/datamesh_manager.py +0 -0
  95. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/files.py +0 -0
  96. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/lint.py +0 -0
  97. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/linters/__init__.py +0 -0
  98. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/linters/description_linter.py +0 -0
  99. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/linters/field_pattern_linter.py +0 -0
  100. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/linters/field_reference_linter.py +0 -0
  101. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/linters/notice_period_linter.py +0 -0
  102. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/linters/valid_constraints_linter.py +0 -0
  103. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/resolve.py +0 -0
  104. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/resources.py +0 -0
  105. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/schema.py +0 -0
  106. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/lint/urls.py +0 -0
  107. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/model/data_contract_specification/__init__.py +0 -0
  108. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/model/exceptions.py +0 -0
  109. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/model/odcs.py +0 -0
  110. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/model/run.py +0 -0
  111. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/output/__init__.py +0 -0
  112. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/output/junit_test_results.py +0 -0
  113. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/output/output_format.py +0 -0
  114. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/output/test_results_writer.py +0 -0
  115. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/py.typed +0 -0
  116. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/schemas/datacontract-1.1.0.init.yaml +0 -0
  117. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/schemas/datacontract-1.1.0.schema.json +0 -0
  118. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/schemas/datacontract-1.2.0.init.yaml +0 -0
  119. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/schemas/datacontract-1.2.0.schema.json +0 -0
  120. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/schemas/odcs-3.0.1.schema.json +0 -0
  121. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/datacontract.html +0 -0
  122. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/datacontract_odcs.html +0 -0
  123. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/index.html +0 -0
  124. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/partials/datacontract_information.html +0 -0
  125. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/partials/datacontract_servicelevels.html +0 -0
  126. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/partials/datacontract_terms.html +0 -0
  127. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/partials/definition.html +0 -0
  128. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/partials/example.html +0 -0
  129. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/partials/model_field.html +0 -0
  130. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/partials/quality.html +0 -0
  131. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/partials/server.html +0 -0
  132. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract/templates/style/output.css +0 -0
  133. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract_cli.egg-info/dependency_links.txt +0 -0
  134. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract_cli.egg-info/entry_points.txt +0 -0
  135. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/datacontract_cli.egg-info/top_level.txt +0 -0
  136. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/setup.cfg +0 -0
  137. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_api.py +0 -0
  138. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_breaking.py +0 -0
  139. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_catalog.py +0 -0
  140. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_changelog.py +0 -0
  141. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_cli.py +0 -0
  142. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_data_contract_checks.py +0 -0
  143. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_data_contract_specification.py +0 -0
  144. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_description_linter.py +0 -0
  145. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_documentation_linter.py +0 -0
  146. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_download_datacontract_file.py +0 -0
  147. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_duckdb_json.py +0 -0
  148. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_avro.py +0 -0
  149. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_avro_idl.py +0 -0
  150. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_bigquery.py +0 -0
  151. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_complex_data_contract.py +0 -0
  152. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_custom.py +0 -0
  153. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_custom_exporter.py +0 -0
  154. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_data_caterer.py +0 -0
  155. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_dbml.py +0 -0
  156. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_dbt_models.py +0 -0
  157. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_dbt_sources.py +0 -0
  158. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_dbt_staging_sql.py +0 -0
  159. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_excel.py +0 -0
  160. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_go.py +0 -0
  161. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_great_expectations.py +0 -0
  162. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_html.py +0 -0
  163. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_iceberg.py +0 -0
  164. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_jsonschema.py +0 -0
  165. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_markdown.py +0 -0
  166. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_mermaid.py +0 -0
  167. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_odcs_v3.py +0 -0
  168. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_protobuf.py +0 -0
  169. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_pydantic.py +0 -0
  170. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_rdf.py +0 -0
  171. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_sodacl.py +0 -0
  172. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_spark.py +0 -0
  173. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_sql.py +0 -0
  174. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_sql_query.py +0 -0
  175. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_sqlalchemy.py +0 -0
  176. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_export_terraform.py +0 -0
  177. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_field_constraint_linter.py +0 -0
  178. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_field_pattern_linter.py +0 -0
  179. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_field_reference_linter.py +0 -0
  180. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_bigquery.py +0 -0
  181. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_csv.py +0 -0
  182. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_dbml.py +0 -0
  183. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_dbt.py +0 -0
  184. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_excel.py +0 -0
  185. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_glue.py +0 -0
  186. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_iceberg.py +0 -0
  187. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_json.py +0 -0
  188. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_jsonschema.py +0 -0
  189. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_odcs_v3.py +0 -0
  190. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_parquet.py +0 -0
  191. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_protobuf.py +0 -0
  192. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_sql_postgres.py +0 -0
  193. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_sql_sqlserver.py +0 -0
  194. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_import_unity_file.py +0 -0
  195. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_integration_datameshmanager.py +0 -0
  196. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_lint.py +0 -0
  197. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_notice_period_linter.py +0 -0
  198. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_resolve.py +0 -0
  199. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_roundtrip_jsonschema.py +0 -0
  200. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_spec_fields_field.py +0 -0
  201. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_spec_ref.py +0 -0
  202. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_azure_remote.py +0 -0
  203. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_bigquery.py +0 -0
  204. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_databricks.py +0 -0
  205. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_dataframe.py +0 -0
  206. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_delta.py +0 -0
  207. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_gcs_csv_remote.py +0 -0
  208. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_gcs_json_remote.py +0 -0
  209. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_kafka.py +0 -0
  210. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_kafka_remote.py +0 -0
  211. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_local_json.py +0 -0
  212. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_output_junit.py +0 -0
  213. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_parquet.py +0 -0
  214. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_s3_csv.py +0 -0
  215. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_s3_delta.py +0 -0
  216. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_s3_json.py +0 -0
  217. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_s3_json_complex.py +0 -0
  218. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_s3_json_multiple_models.py +0 -0
  219. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_s3_json_remote.py +0 -0
  220. {datacontract_cli-0.10.33 → datacontract_cli-0.10.34}/tests/test_test_snowflake.py +0 -0
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023 innoQ Deutschland GmbH
3
+ Copyright (c) 2025 Entropy Data GmbH
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datacontract-cli
3
- Version: 0.10.33
3
+ Version: 0.10.34
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
@@ -20,7 +20,7 @@ Requires-Dist: fastparquet<2025.0.0,>=2024.5.0
20
20
  Requires-Dist: numpy<2.0.0,>=1.26.4
21
21
  Requires-Dist: python-multipart<1.0.0,>=0.0.20
22
22
  Requires-Dist: rich<15.0,>=13.7
23
- Requires-Dist: sqlglot<27.0.0,>=26.6.0
23
+ Requires-Dist: sqlglot<28.0.0,>=26.6.0
24
24
  Requires-Dist: duckdb<2.0.0,>=1.0.0
25
25
  Requires-Dist: soda-core-duckdb<3.6.0,>=3.3.20
26
26
  Requires-Dist: setuptools>=60
@@ -56,10 +56,12 @@ Provides-Extra: s3
56
56
  Requires-Dist: s3fs<2026.0.0,>=2025.2.0; extra == "s3"
57
57
  Requires-Dist: aiobotocore<2.24.0,>=2.17.0; extra == "s3"
58
58
  Provides-Extra: snowflake
59
- Requires-Dist: snowflake-connector-python[pandas]<3.16,>=3.6; extra == "snowflake"
59
+ Requires-Dist: snowflake-connector-python[pandas]<3.17,>=3.6; extra == "snowflake"
60
60
  Requires-Dist: soda-core-snowflake<3.6.0,>=3.3.20; extra == "snowflake"
61
61
  Provides-Extra: sqlserver
62
62
  Requires-Dist: soda-core-sqlserver<3.6.0,>=3.3.20; extra == "sqlserver"
63
+ Provides-Extra: athena
64
+ Requires-Dist: soda-core-athena<3.6.0,>=3.3.20; extra == "athena"
63
65
  Provides-Extra: trino
64
66
  Requires-Dist: soda-core-trino<3.6.0,>=3.3.20; extra == "trino"
65
67
  Provides-Extra: dbt
@@ -76,19 +78,19 @@ Requires-Dist: uvicorn==0.35.0; extra == "api"
76
78
  Provides-Extra: protobuf
77
79
  Requires-Dist: grpcio-tools>=1.53; extra == "protobuf"
78
80
  Provides-Extra: all
79
- Requires-Dist: datacontract-cli[api,bigquery,csv,databricks,dbml,dbt,excel,iceberg,kafka,parquet,postgres,protobuf,rdf,s3,snowflake,sqlserver,trino]; extra == "all"
81
+ Requires-Dist: datacontract-cli[api,athena,bigquery,csv,databricks,dbml,dbt,excel,iceberg,kafka,parquet,postgres,protobuf,rdf,s3,snowflake,sqlserver,trino]; extra == "all"
80
82
  Provides-Extra: dev
81
83
  Requires-Dist: datacontract-cli[all]; extra == "dev"
82
84
  Requires-Dist: httpx==0.28.1; extra == "dev"
83
85
  Requires-Dist: kafka-python; extra == "dev"
84
- Requires-Dist: moto==5.1.6; extra == "dev"
86
+ Requires-Dist: moto==5.1.8; extra == "dev"
85
87
  Requires-Dist: pandas>=2.1.0; extra == "dev"
86
88
  Requires-Dist: pre-commit<4.3.0,>=3.7.1; extra == "dev"
87
89
  Requires-Dist: pytest; extra == "dev"
88
90
  Requires-Dist: pytest-xdist; extra == "dev"
89
91
  Requires-Dist: pymssql==2.3.7; extra == "dev"
90
92
  Requires-Dist: ruff; extra == "dev"
91
- Requires-Dist: testcontainers[kafka,minio,mssql,postgres]==4.10.0; extra == "dev"
93
+ Requires-Dist: testcontainers[kafka,minio,mssql,postgres]==4.12.0; extra == "dev"
92
94
  Requires-Dist: trino==0.335.0; extra == "dev"
93
95
  Dynamic: license-file
94
96
 
@@ -316,6 +318,7 @@ A list of available extras:
316
318
 
317
319
  | Dependency | Installation Command |
318
320
  |-------------------------|--------------------------------------------|
321
+ | Amazon Athena | `pip install datacontract-cli[athena]` |
319
322
  | Avro Support | `pip install datacontract-cli[avro]` |
320
323
  | Google BigQuery | `pip install datacontract-cli[bigquery]` |
321
324
  | Databricks Integration | `pip install datacontract-cli[databricks]` |
@@ -460,6 +463,7 @@ Credentials are provided with environment variables.
460
463
  Supported server types:
461
464
 
462
465
  - [s3](#S3)
466
+ - [athena](#athena)
463
467
  - [bigquery](#bigquery)
464
468
  - [azure](#azure)
465
469
  - [sqlserver](#sqlserver)
@@ -470,6 +474,7 @@ Supported server types:
470
474
  - [kafka](#kafka)
471
475
  - [postgres](#postgres)
472
476
  - [trino](#trino)
477
+ - [api](#api)
473
478
  - [local](#local)
474
479
 
475
480
  Supported formats:
@@ -529,6 +534,41 @@ servers:
529
534
  | `DATACONTRACT_S3_SESSION_TOKEN` | `AQoDYXdzEJr...` | AWS temporary session token (optional) |
530
535
 
531
536
 
537
+ #### Athena
538
+
539
+ Data Contract CLI can test data in AWS Athena stored in S3.
540
+ Supports different file formats, such as Iceberg, Parquet, JSON, CSV...
541
+
542
+ ##### Example
543
+
544
+ datacontract.yaml
545
+ ```yaml
546
+ servers:
547
+ athena:
548
+ type: athena
549
+ catalog: awsdatacatalog # awsdatacatalog is the default setting
550
+ schema: icebergdemodb # in Athena, this is called "database"
551
+ regionName: eu-central-1
552
+ stagingDir: s3://my-bucket/athena-results/
553
+ models:
554
+ my_table: # corresponds to a table of view name
555
+ type: table
556
+ fields:
557
+ my_column_1: # corresponds to a column
558
+ type: string
559
+ config:
560
+ physicalType: varchar
561
+ ```
562
+
563
+ ##### Environment Variables
564
+
565
+ | Environment Variable | Example | Description |
566
+ |-------------------------------------|---------------------------------|----------------------------------------|
567
+ | `DATACONTRACT_S3_REGION` | `eu-central-1` | Region of Athena service |
568
+ | `DATACONTRACT_S3_ACCESS_KEY_ID` | `AKIAXV5Q5QABCDEFGH` | AWS Access Key ID |
569
+ | `DATACONTRACT_S3_SECRET_ACCESS_KEY` | `93S7LRrJcqLaaaa/XXXXXXXXXXXXX` | AWS Secret Access Key |
570
+ | `DATACONTRACT_S3_SESSION_TOKEN` | `AQoDYXdzEJr...` | AWS temporary session token (optional) |
571
+
532
572
 
533
573
  #### Google Cloud Storage (GCS)
534
574
 
@@ -896,6 +936,38 @@ models:
896
936
  | `DATACONTRACT_TRINO_PASSWORD` | `mysecretpassword` | Password |
897
937
 
898
938
 
939
+ #### API
940
+
941
+ Data Contract CLI can test APIs that return data in JSON format.
942
+ Currently, only GET requests are supported.
943
+
944
+ ##### Example
945
+
946
+ datacontract.yaml
947
+ ```yaml
948
+ servers:
949
+ api:
950
+ type: "api"
951
+ location: "https://api.example.com/path"
952
+ delimiter: none # new_line, array, or none (default)
953
+
954
+ models:
955
+ my_object: # corresponds to the root element of the JSON response
956
+ type: object
957
+ fields:
958
+ field1:
959
+ type: string
960
+ fields2:
961
+ type: number
962
+ ```
963
+
964
+ ##### Environment Variables
965
+
966
+ | Environment Variable | Example | Description |
967
+ |-----------------------------------------|------------------|---------------------------------------------------|
968
+ | `DATACONTRACT_API_HEADER_AUTHORIZATION` | `Bearer <token>` | The value for the `authorization` header. Optional. |
969
+
970
+
899
971
  #### Local
900
972
 
901
973
  Data Contract CLI can test local files in parquet, json, csv, or delta format.
@@ -959,8 +1031,10 @@ models:
959
1031
  │ --engine TEXT [engine] The engine used for great │
960
1032
  │ expection run. │
961
1033
  │ [default: None] │
962
- │ --template PATH [custom] The file path of Jinja
963
- template.
1034
+ │ --template PATH The file path or URL of a template.
1035
+ For Excel format: path/URL to custom
1036
+ │ Excel template. For custom format: │
1037
+ │ path to Jinja template. │
964
1038
  │ [default: None] │
965
1039
  │ --help Show this message and exit. │
966
1040
  ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
@@ -2102,6 +2176,7 @@ We are happy to receive your contributions. Propose your change in an issue or d
2102
2176
 
2103
2177
  ## Companies using this tool
2104
2178
 
2179
+ - [Entropy Data](https://www.entropy-data.com)
2105
2180
  - [INNOQ](https://innoq.com)
2106
2181
  - [Data Catering](https://data.catering/)
2107
2182
  - [Oliver Wyman](https://www.oliverwyman.com/)
@@ -2120,7 +2195,7 @@ We are happy to receive your contributions. Propose your change in an issue or d
2120
2195
 
2121
2196
  ## Credits
2122
2197
 
2123
- Created by [Stefan Negele](https://www.linkedin.com/in/stefan-negele-573153112/) and [Jochen Christ](https://www.linkedin.com/in/jochenchrist/).
2198
+ Created by [Stefan Negele](https://www.linkedin.com/in/stefan-negele-573153112/), [Jochen Christ](https://www.linkedin.com/in/jochenchrist/), and [Simon Harrer]().
2124
2199
 
2125
2200
 
2126
2201
 
@@ -222,6 +222,7 @@ A list of available extras:
222
222
 
223
223
  | Dependency | Installation Command |
224
224
  |-------------------------|--------------------------------------------|
225
+ | Amazon Athena | `pip install datacontract-cli[athena]` |
225
226
  | Avro Support | `pip install datacontract-cli[avro]` |
226
227
  | Google BigQuery | `pip install datacontract-cli[bigquery]` |
227
228
  | Databricks Integration | `pip install datacontract-cli[databricks]` |
@@ -366,6 +367,7 @@ Credentials are provided with environment variables.
366
367
  Supported server types:
367
368
 
368
369
  - [s3](#S3)
370
+ - [athena](#athena)
369
371
  - [bigquery](#bigquery)
370
372
  - [azure](#azure)
371
373
  - [sqlserver](#sqlserver)
@@ -376,6 +378,7 @@ Supported server types:
376
378
  - [kafka](#kafka)
377
379
  - [postgres](#postgres)
378
380
  - [trino](#trino)
381
+ - [api](#api)
379
382
  - [local](#local)
380
383
 
381
384
  Supported formats:
@@ -435,6 +438,41 @@ servers:
435
438
  | `DATACONTRACT_S3_SESSION_TOKEN` | `AQoDYXdzEJr...` | AWS temporary session token (optional) |
436
439
 
437
440
 
441
+ #### Athena
442
+
443
+ Data Contract CLI can test data in AWS Athena stored in S3.
444
+ Supports different file formats, such as Iceberg, Parquet, JSON, CSV...
445
+
446
+ ##### Example
447
+
448
+ datacontract.yaml
449
+ ```yaml
450
+ servers:
451
+ athena:
452
+ type: athena
453
+ catalog: awsdatacatalog # awsdatacatalog is the default setting
454
+ schema: icebergdemodb # in Athena, this is called "database"
455
+ regionName: eu-central-1
456
+ stagingDir: s3://my-bucket/athena-results/
457
+ models:
458
+ my_table: # corresponds to a table of view name
459
+ type: table
460
+ fields:
461
+ my_column_1: # corresponds to a column
462
+ type: string
463
+ config:
464
+ physicalType: varchar
465
+ ```
466
+
467
+ ##### Environment Variables
468
+
469
+ | Environment Variable | Example | Description |
470
+ |-------------------------------------|---------------------------------|----------------------------------------|
471
+ | `DATACONTRACT_S3_REGION` | `eu-central-1` | Region of Athena service |
472
+ | `DATACONTRACT_S3_ACCESS_KEY_ID` | `AKIAXV5Q5QABCDEFGH` | AWS Access Key ID |
473
+ | `DATACONTRACT_S3_SECRET_ACCESS_KEY` | `93S7LRrJcqLaaaa/XXXXXXXXXXXXX` | AWS Secret Access Key |
474
+ | `DATACONTRACT_S3_SESSION_TOKEN` | `AQoDYXdzEJr...` | AWS temporary session token (optional) |
475
+
438
476
 
439
477
  #### Google Cloud Storage (GCS)
440
478
 
@@ -802,6 +840,38 @@ models:
802
840
  | `DATACONTRACT_TRINO_PASSWORD` | `mysecretpassword` | Password |
803
841
 
804
842
 
843
+ #### API
844
+
845
+ Data Contract CLI can test APIs that return data in JSON format.
846
+ Currently, only GET requests are supported.
847
+
848
+ ##### Example
849
+
850
+ datacontract.yaml
851
+ ```yaml
852
+ servers:
853
+ api:
854
+ type: "api"
855
+ location: "https://api.example.com/path"
856
+ delimiter: none # new_line, array, or none (default)
857
+
858
+ models:
859
+ my_object: # corresponds to the root element of the JSON response
860
+ type: object
861
+ fields:
862
+ field1:
863
+ type: string
864
+ fields2:
865
+ type: number
866
+ ```
867
+
868
+ ##### Environment Variables
869
+
870
+ | Environment Variable | Example | Description |
871
+ |-----------------------------------------|------------------|---------------------------------------------------|
872
+ | `DATACONTRACT_API_HEADER_AUTHORIZATION` | `Bearer <token>` | The value for the `authorization` header. Optional. |
873
+
874
+
805
875
  #### Local
806
876
 
807
877
  Data Contract CLI can test local files in parquet, json, csv, or delta format.
@@ -865,8 +935,10 @@ models:
865
935
  │ --engine TEXT [engine] The engine used for great │
866
936
  │ expection run. │
867
937
  │ [default: None] │
868
- │ --template PATH [custom] The file path of Jinja
869
- template.
938
+ │ --template PATH The file path or URL of a template.
939
+ For Excel format: path/URL to custom
940
+ │ Excel template. For custom format: │
941
+ │ path to Jinja template. │
870
942
  │ [default: None] │
871
943
  │ --help Show this message and exit. │
872
944
  ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
@@ -2008,6 +2080,7 @@ We are happy to receive your contributions. Propose your change in an issue or d
2008
2080
 
2009
2081
  ## Companies using this tool
2010
2082
 
2083
+ - [Entropy Data](https://www.entropy-data.com)
2011
2084
  - [INNOQ](https://innoq.com)
2012
2085
  - [Data Catering](https://data.catering/)
2013
2086
  - [Oliver Wyman](https://www.oliverwyman.com/)
@@ -2026,7 +2099,7 @@ We are happy to receive your contributions. Propose your change in an issue or d
2026
2099
 
2027
2100
  ## Credits
2028
2101
 
2029
- Created by [Stefan Negele](https://www.linkedin.com/in/stefan-negele-573153112/) and [Jochen Christ](https://www.linkedin.com/in/jochenchrist/).
2102
+ Created by [Stefan Negele](https://www.linkedin.com/in/stefan-negele-573153112/), [Jochen Christ](https://www.linkedin.com/in/jochenchrist/), and [Simon Harrer]().
2030
2103
 
2031
2104
 
2032
2105