datacontract-cli 0.10.7__py3-none-any.whl → 0.10.8__py3-none-any.whl

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 (39) hide show
  1. datacontract/cli.py +19 -1
  2. datacontract/data_contract.py +60 -172
  3. datacontract/engines/fastjsonschema/s3/s3_read_files.py +13 -1
  4. datacontract/engines/soda/check_soda_execute.py +4 -2
  5. datacontract/engines/soda/connections/bigquery.py +8 -1
  6. datacontract/export/__init__.py +0 -0
  7. datacontract/export/avro_converter.py +15 -3
  8. datacontract/export/avro_idl_converter.py +29 -22
  9. datacontract/export/bigquery_converter.py +15 -0
  10. datacontract/export/dbml_converter.py +9 -0
  11. datacontract/export/dbt_converter.py +26 -1
  12. datacontract/export/exporter.py +87 -0
  13. datacontract/export/exporter_factory.py +52 -0
  14. datacontract/export/go_converter.py +6 -0
  15. datacontract/export/great_expectations_converter.py +10 -0
  16. datacontract/export/html_export.py +6 -0
  17. datacontract/export/jsonschema_converter.py +24 -16
  18. datacontract/export/odcs_converter.py +24 -1
  19. datacontract/export/protobuf_converter.py +6 -0
  20. datacontract/export/pydantic_converter.py +6 -0
  21. datacontract/export/rdf_converter.py +9 -0
  22. datacontract/export/sodacl_converter.py +7 -1
  23. datacontract/export/sql_converter.py +32 -2
  24. datacontract/export/sql_type_converter.py +4 -5
  25. datacontract/export/terraform_converter.py +6 -0
  26. datacontract/imports/bigquery_importer.py +30 -4
  27. datacontract/imports/glue_importer.py +9 -0
  28. datacontract/imports/odcs_importer.py +192 -0
  29. datacontract/imports/unity_importer.py +138 -0
  30. datacontract/model/data_contract_specification.py +2 -0
  31. datacontract/templates/partials/server.html +64 -32
  32. datacontract/templates/style/output.css +9 -0
  33. datacontract/web.py +17 -0
  34. {datacontract_cli-0.10.7.dist-info → datacontract_cli-0.10.8.dist-info}/METADATA +113 -49
  35. {datacontract_cli-0.10.7.dist-info → datacontract_cli-0.10.8.dist-info}/RECORD +39 -34
  36. {datacontract_cli-0.10.7.dist-info → datacontract_cli-0.10.8.dist-info}/LICENSE +0 -0
  37. {datacontract_cli-0.10.7.dist-info → datacontract_cli-0.10.8.dist-info}/WHEEL +0 -0
  38. {datacontract_cli-0.10.7.dist-info → datacontract_cli-0.10.8.dist-info}/entry_points.txt +0 -0
  39. {datacontract_cli-0.10.7.dist-info → datacontract_cli-0.10.8.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: datacontract-cli
3
- Version: 0.10.7
3
+ Version: 0.10.8
4
4
  Summary: Test data contracts
5
5
  Author-email: Jochen Christ <jochen.christ@innoq.com>, Stefan Negele <stefan.negele@innoq.com>
6
6
  Project-URL: Homepage, https://cli.datacontract.com
@@ -20,31 +20,34 @@ Requires-Dist: fastparquet ==2024.5.0
20
20
  Requires-Dist: python-multipart ==0.0.9
21
21
  Requires-Dist: rich ~=13.7.0
22
22
  Requires-Dist: simple-ddl-parser ==1.5.1
23
- Requires-Dist: soda-core-bigquery <3.4.0,>=3.3.1
24
23
  Requires-Dist: soda-core-duckdb <3.4.0,>=3.3.1
25
- Requires-Dist: soda-core-sqlserver <3.4.0,>=3.3.1
26
- Requires-Dist: soda-core-postgres <3.4.0,>=3.3.1
27
- Requires-Dist: soda-core-snowflake <3.4.0,>=3.3.1
28
- Requires-Dist: soda-core-spark[databricks] <3.4.0,>=3.3.1
29
- Requires-Dist: databricks-sql-connector <3.2.0,>=3.1.2
30
- Requires-Dist: soda-core-spark-df <3.4.0,>=3.3.1
31
24
  Requires-Dist: setuptools >=60
32
- Requires-Dist: snowflake-connector-python[pandas] <3.11,>=3.6
33
- Requires-Dist: duckdb ==0.10.3
34
- Requires-Dist: fastjsonschema ~=2.19.1
25
+ Requires-Dist: duckdb ==1.0.0
26
+ Requires-Dist: fastjsonschema <2.21.0,>=2.19.1
35
27
  Requires-Dist: python-dotenv ~=1.0.0
36
- Requires-Dist: s3fs ==2024.5.0
37
28
  Requires-Dist: rdflib ==7.0.0
38
- Requires-Dist: avro ==1.11.3
39
29
  Requires-Dist: opentelemetry-exporter-otlp-proto-grpc ~=1.16
40
30
  Requires-Dist: opentelemetry-exporter-otlp-proto-http ~=1.16
41
- Requires-Dist: deltalake ~=0.17.0
42
- Requires-Dist: boto3 <1.34.114,>=1.34.41
43
- Requires-Dist: botocore <1.34.114,>=1.34.41
31
+ Requires-Dist: boto3 <1.34.130,>=1.34.41
32
+ Requires-Dist: botocore <1.34.128,>=1.34.41
44
33
  Requires-Dist: jinja-partials >=0.2.1
34
+ Provides-Extra: all
35
+ Requires-Dist: datacontract-cli[bigquery,databricks,deltalake,kafka,postgres,s3,snowflake,sqlserver] ; extra == 'all'
36
+ Provides-Extra: avro
37
+ Requires-Dist: avro ==1.11.3 ; extra == 'avro'
38
+ Provides-Extra: bigquery
39
+ Requires-Dist: soda-core-bigquery <3.4.0,>=3.3.1 ; extra == 'bigquery'
40
+ Provides-Extra: databricks
41
+ Requires-Dist: soda-core-spark-df <3.4.0,>=3.3.1 ; extra == 'databricks'
42
+ Requires-Dist: databricks-sql-connector <3.2.0,>=3.1.2 ; extra == 'databricks'
43
+ Requires-Dist: soda-core-spark[databricks] <3.4.0,>=3.3.1 ; extra == 'databricks'
44
+ Provides-Extra: deltalake
45
+ Requires-Dist: deltalake <0.19,>=0.17 ; extra == 'deltalake'
45
46
  Provides-Extra: dev
47
+ Requires-Dist: datacontract-cli[all] ; extra == 'dev'
46
48
  Requires-Dist: httpx ==0.27.0 ; extra == 'dev'
47
49
  Requires-Dist: ruff ; extra == 'dev'
50
+ Requires-Dist: pre-commit ~=3.7.1 ; extra == 'dev'
48
51
  Requires-Dist: pytest ; extra == 'dev'
49
52
  Requires-Dist: pytest-xdist ; extra == 'dev'
50
53
  Requires-Dist: moto ; extra == 'dev'
@@ -55,6 +58,18 @@ Requires-Dist: testcontainers[minio] ; extra == 'dev'
55
58
  Requires-Dist: testcontainers[postgres] ; extra == 'dev'
56
59
  Requires-Dist: testcontainers[kafka] ; extra == 'dev'
57
60
  Requires-Dist: testcontainers[mssql] ; extra == 'dev'
61
+ Provides-Extra: kafka
62
+ Requires-Dist: datacontract-cli[avro] ; extra == 'kafka'
63
+ Requires-Dist: soda-core-spark-df <3.4.0,>=3.3.1 ; extra == 'kafka'
64
+ Provides-Extra: postgres
65
+ Requires-Dist: soda-core-postgres <3.4.0,>=3.3.1 ; extra == 'postgres'
66
+ Provides-Extra: s3
67
+ Requires-Dist: s3fs ==2024.6.0 ; extra == 's3'
68
+ Provides-Extra: snowflake
69
+ Requires-Dist: snowflake-connector-python[pandas] <3.11,>=3.6 ; extra == 'snowflake'
70
+ Requires-Dist: soda-core-snowflake <3.4.0,>=3.3.1 ; extra == 'snowflake'
71
+ Provides-Extra: sqlserver
72
+ Requires-Dist: soda-core-sqlserver <3.4.0,>=3.3.1 ; extra == 'sqlserver'
58
73
 
59
74
  # Data Contract CLI
60
75
 
@@ -83,9 +98,10 @@ This data contract contains all information to connect to S3 and check that the
83
98
 
84
99
  Let's use [pip](https://pip.pypa.io/en/stable/getting-started/) to install the CLI (or use the [Docker image](#docker), if you prefer).
85
100
  ```bash
86
- $ python3 -m pip install datacontract-cli
101
+ $ python3 -m pip install datacontract-cli[all]
87
102
  ```
88
103
 
104
+
89
105
  We run the tests:
90
106
 
91
107
  ```bash
@@ -155,6 +171,7 @@ $ datacontract export --format html https://datacontract.com/examples/orders-lat
155
171
 
156
172
  which will create this [HTML export](https://datacontract.com/examples/orders-latest/datacontract.html).
157
173
 
174
+
158
175
  ## Usage
159
176
 
160
177
  ```bash
@@ -207,13 +224,13 @@ Python 3.11 recommended.
207
224
  Python 3.12 available as pre-release release candidate for 0.9.3
208
225
 
209
226
  ```bash
210
- python3 -m pip install datacontract-cli
227
+ python3 -m pip install datacontract-cli[all]
211
228
  ```
212
229
 
213
230
  ### pipx
214
231
  pipx installs into an isolated environment.
215
232
  ```bash
216
- pipx install datacontract-cli
233
+ pipx install datacontract-cli[all]
217
234
  ```
218
235
 
219
236
  ### Docker
@@ -229,6 +246,32 @@ Or via an alias that automatically uses the latest version:
229
246
  alias datacontract='docker run --rm -v "${PWD}:/home/datacontract" datacontract/cli:latest'
230
247
  ```
231
248
 
249
+
250
+ ## Optional Dependencies
251
+
252
+ The CLI tool defines several optional dependencies (also known as extras) that can be installed for using with specific servers types.
253
+ With _all_, all server dependencies are included.
254
+
255
+ ```bash
256
+ pip install datacontract-cli[all]
257
+ ```
258
+
259
+ A list of available extras:
260
+
261
+ | Dependency | Installation Command |
262
+ |-------------------------|-------------------------------------------------------------|
263
+ | Avro Support | `pip install datacontract-cli[avro]` |
264
+ | Google BigQuery | `pip install datacontract-cli[bigquery]` |
265
+ | Databricks Integration | `pip install datacontract-cli[databricks]` |
266
+ | Deltalake Integration | `pip install datacontract-cli[deltalake]` |
267
+ | Kafka Integration | `pip install datacontract-cli[kafka]` |
268
+ | PostgreSQL Integration | `pip install datacontract-cli[postgres]` |
269
+ | S3 Integration | `pip install datacontract-cli[s3]` |
270
+ | Snowflake Integration | `pip install datacontract-cli[snowflake]` |
271
+ | Microsoft SQL Server | `pip install datacontract-cli[sqlserver]` |
272
+
273
+
274
+
232
275
  ## Documentation
233
276
 
234
277
  Commands
@@ -420,7 +463,7 @@ models:
420
463
 
421
464
  | Environment Variable | Example | Description |
422
465
  |----------------------------------------------|---------------------------|---------------------------------------------------------|
423
- | `DATACONTRACT_BIGQUERY_ACCOUNT_INFO_JSON_PATH` | `~/service-access-key.json` | Service Access key as saved on key creation by BigQuery |
466
+ | `DATACONTRACT_BIGQUERY_ACCOUNT_INFO_JSON_PATH` | `~/service-access-key.json` | Service Access key as saved on key creation by BigQuery. If this environment variable isn't set, the cli tries to use `GOOGLE_APPLICATION_CREDENTIALS` as a fallback, so if you have that set for using their Python library anyway, it should work seamlessly. |
424
467
 
425
468
 
426
469
 
@@ -544,7 +587,7 @@ models:
544
587
 
545
588
  Notebook
546
589
  ```python
547
- %pip install datacontract-cli
590
+ %pip install datacontract-cli[databricks]
548
591
  dbutils.library.restartPython()
549
592
 
550
593
  from datacontract.data_contract import DataContract
@@ -688,10 +731,10 @@ models:
688
731
 
689
732
  ```
690
733
 
691
- Usage: datacontract export [OPTIONS] [LOCATION]
692
-
693
- Convert data contract to a specific format. Prints to stdout or to the specified output file.
694
-
734
+ Usage: datacontract export [OPTIONS] [LOCATION]
735
+
736
+ Convert data contract to a specific format. Prints to stdout or to the specified output file.
737
+
695
738
  ╭─ Arguments ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
696
739
  │ location [LOCATION] The location (url or path) of the data contract yaml. [default: datacontract.yaml] │
697
740
  ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
@@ -792,13 +835,13 @@ data products, find the true domain owner of a field attribute)
792
835
  #### DBML
793
836
 
794
837
  The export function converts the logical data types of the datacontract into the specific ones of a concrete Database
795
- if a server is selected via the `--server` option (based on the `type` of that server). If no server is selected, the
838
+ if a server is selected via the `--server` option (based on the `type` of that server). If no server is selected, the
796
839
  logical data types are exported.
797
840
 
798
841
 
799
842
  #### Avro
800
843
 
801
- The export function converts the data contract specification into an avro schema. It supports specifying custom avro properties for logicalTypes and default values.
844
+ The export function converts the data contract specification into an avro schema. It supports specifying custom avro properties for logicalTypes and default values.
802
845
 
803
846
  ##### Custom Avro Properties
804
847
 
@@ -818,7 +861,7 @@ models:
818
861
  description: Example for AVRO with Timestamp (microsecond precision) https://avro.apache.org/docs/current/spec.html#Local+timestamp+%28microsecond+precision%29
819
862
  type: long
820
863
  example: 1672534861000000 # Equivalent to 2023-01-01 01:01:01 in microseconds
821
- config:
864
+ config:
822
865
  avroLogicalType: local-timestamp-micros
823
866
  avroDefault: 1672534861000000
824
867
  ```
@@ -842,21 +885,21 @@ models:
842
885
  ```
843
886
  Usage: datacontract import [OPTIONS]
844
887
 
845
- Create a data contract from the given source location. Prints to stdout.
846
-
888
+ Create a data contract from the given source location. Prints to stdout.
889
+
847
890
  ╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
848
- │ * --format [sql|avro|glue|bigquery|jsonschema] The format of the source file. [default: None] [required] │
849
- │ --source TEXT The path to the file or Glue Database that should be imported. │
850
- [default: None] │
851
- │ --glue-table TEXT List of table ids to import from the Glue Database (repeat for │
852
- multiple table ids, leave empty for all tables in the dataset). │
853
- [default: None] │
854
- │ --bigquery-project TEXT The bigquery project id. [default: None] │
855
- │ --bigquery-dataset TEXT The bigquery dataset id. [default: None] │
856
- │ --bigquery-table TEXT List of table ids to import from the bigquery API (repeat for │
857
- multiple table ids, leave empty for all tables in the dataset). │
858
- [default: None] │
859
- │ --help Show this message and exit. │
891
+ │ * --format [sql|avro|glue|bigquery|jsonschema|unity] The format of the source file. [default: None] [required] │
892
+ │ --source TEXT The path to the file or Glue Database that should be imported. │
893
+ [default: None] │
894
+ │ --glue-table TEXT List of table ids to import from the Glue Database (repeat for │
895
+ multiple table ids, leave empty for all tables in the dataset). │
896
+ [default: None] │
897
+ │ --bigquery-project TEXT The bigquery project id. [default: None] │
898
+ │ --bigquery-dataset TEXT The bigquery dataset id. [default: None] │
899
+ │ --bigquery-table TEXT List of table ids to import from the bigquery API (repeat for │
900
+ multiple table ids, leave empty for all tables in the dataset). │
901
+ [default: None] │
902
+ │ --help Show this message and exit. │
860
903
  ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
861
904
  ```
862
905
 
@@ -874,10 +917,11 @@ Available import options:
874
917
  | `avro` | Import from AVRO schemas | ✅ |
875
918
  | `glue` | Import from AWS Glue DataCatalog | ✅ |
876
919
  | `protobuf` | Import from Protobuf schemas | TBD |
877
- | `jsonschema` | Import from JSON Schemas | ✅ |
878
- | `bigquery` | Import from BigQuery Schemas | ✅ |
920
+ | `jsonschema` | Import from JSON Schemas | ✅ |
921
+ | `bigquery` | Import from BigQuery Schemas | ✅ |
922
+ | `unity` | Import from Databricks Unity Catalog | partial |
879
923
  | `dbt` | Import from dbt models | TBD |
880
- | `odcs` | Import from Open Data Contract Standard (ODCS) | TBD |
924
+ | `odcs` | Import from Open Data Contract Standard (ODCS) | |
881
925
  | Missing something? | Please create an issue on GitHub | TBD |
882
926
 
883
927
 
@@ -889,7 +933,7 @@ To import from the Bigquery API, you have to _omit_ `source` and instead need to
889
933
 
890
934
  For providing authentication to the Client, please see [the google documentation](https://cloud.google.com/docs/authentication/provide-credentials-adc#how-to) or the one [about authorizing client libraries](https://cloud.google.com/bigquery/docs/authentication#client-libs).
891
935
 
892
- Examples:
936
+ Examples:
893
937
 
894
938
  ```bash
895
939
  # Example import from Bigquery JSON
@@ -906,12 +950,26 @@ datacontract import --format bigquery --bigquery-project <project_id> --bigquery
906
950
  datacontract import --format bigquery --bigquery-project <project_id> --bigquery-dataset <dataset_id>
907
951
  ```
908
952
 
953
+ #### Unity Catalog
954
+
955
+ ```bash
956
+ # Example import from a Unity Catalog JSON file
957
+ datacontract import --format unity --source my_unity_table.json
958
+ ```
959
+
960
+ ```bash
961
+ # Example import single table from Unity Catalog via HTTP endpoint
962
+ export DATABRICKS_IMPORT_INSTANCE="https://xyz.cloud.databricks.com"
963
+ export DATABRICKS_IMPORT_ACCESS_TOKEN=<token>
964
+ datacontract import --format unity --unity-table-full-name <table_full_name>
965
+ ```
966
+
909
967
  ### Glue
910
968
 
911
969
  Importing from Glue reads the necessary Data directly off of the AWS API.
912
970
  You may give the `glue-table` parameter to enumerate the tables that should be imported. If no tables are given, _all_ available tables of the database will be imported.
913
971
 
914
- Examples:
972
+ Examples:
915
973
 
916
974
  ```bash
917
975
  # Example import from AWS Glue with specifying the tables to import
@@ -1168,8 +1226,8 @@ source venv/bin/activate
1168
1226
  # Install Requirements
1169
1227
  pip install --upgrade pip setuptools wheel
1170
1228
  pip install -e '.[dev]'
1171
- ruff check --fix
1172
- ruff format
1229
+ pre-commit install
1230
+ pre-commit run --all-files
1173
1231
  pytest
1174
1232
  ```
1175
1233
 
@@ -1225,6 +1283,12 @@ We are happy to receive your contributions. Propose your change in an issue or d
1225
1283
  - [INNOQ](https://innoq.com)
1226
1284
  - And many more. To add your company, please create a pull request.
1227
1285
 
1286
+ ## Related Tools
1287
+
1288
+ - [Data Mesh Manager](https://www.datamesh-manager.com/) is a commercial tool to manage data products and data contracts. It supports the data contract specification and allows the user to import or export data contracts using this specification.
1289
+ - [Data Contract GPT](https://gpt.datacontract.com) is a custom GPT that can help you write data contracts.
1290
+ - [Data Contract Editor](https://editor.datacontract.com) is an editor for Data Contracts, including a live html preview.
1291
+
1228
1292
  ## License
1229
1293
 
1230
1294
  [MIT License](LICENSE)
@@ -1,8 +1,8 @@
1
1
  datacontract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- datacontract/cli.py,sha256=-PFT-P03aiT5RlodXPGBKVqz2etlnnzMLoNqDrsOXKE,12767
3
- datacontract/data_contract.py,sha256=bsvf-_nSFKStcPPdKkSprD4KUecON4EBIk2dvwbkxWw,21444
2
+ datacontract/cli.py,sha256=Qd_8bLgHbZSnwg-l2xLpgwyXumr_x-pXW8vDFti5ucE,13320
3
+ datacontract/data_contract.py,sha256=Bxq1vmo2MLmLZWXlrvWZPUalzNkrpiiinehdwIZlYFk,15849
4
4
  datacontract/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- datacontract/web.py,sha256=toFF9L3ueToMIa5v0BjS-PyI-w1htNlIBV8O8QLrigM,1834
5
+ datacontract/web.py,sha256=Ov50NJVbQiaxjHXnVOvRw9moMkKHHcxFhdzwbA13QOw,2134
6
6
  datacontract/breaking/breaking.py,sha256=l0ZwUX8G4QK_0nLRLJHArpwgTWTD7WQYMuAp3l_y1bY,12184
7
7
  datacontract/breaking/breaking_rules.py,sha256=Qj7XbsyD-BynNwhrNiETTk7_Hs_tHrtrZmSU634zEJI,3157
8
8
  datacontract/catalog/catalog.py,sha256=GMBGZPVo5lGZQDmdWCwWb5-upXlUz6R6eTMg9xI9a3s,2640
@@ -11,10 +11,10 @@ datacontract/engines/datacontract/check_that_datacontract_contains_valid_servers
11
11
  datacontract/engines/datacontract/check_that_datacontract_file_exists.py,sha256=XHvxX6BrTdZk2wN55zd6ER4k7ILDyGzjbCbZxQAJ2iE,665
12
12
  datacontract/engines/datacontract/check_that_datacontract_str_is_valid.py,sha256=CsxFGyInjpsylmoofByV1b-wpFhG1jtRWxSUpp-BXk8,1525
13
13
  datacontract/engines/fastjsonschema/check_jsonschema.py,sha256=rXGfGDu9-RJomj9WcVe8vEfluR25vn2rOS7BeOVQ0XA,5748
14
- datacontract/engines/fastjsonschema/s3/s3_read_files.py,sha256=iupiyqBa1dzgT2BtVGna-BjC5rqe6MTLs2QRp8GTs7M,665
14
+ datacontract/engines/fastjsonschema/s3/s3_read_files.py,sha256=HS1dgwkUp3CwuI6VtZnRpOUnTd04E3yMgLbkK5jcW7o,1057
15
15
  datacontract/engines/soda/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- datacontract/engines/soda/check_soda_execute.py,sha256=zGIIkT-m65kP9_eQauHwfri1Poos6DkNx9Lr0_k6pu8,7456
17
- datacontract/engines/soda/connections/bigquery.py,sha256=Ao0KaJe4R28auU_4umxvVaLB6ZHEbKaNoYZ-RfAUmeo,662
16
+ datacontract/engines/soda/check_soda_execute.py,sha256=_aF6jcji3FmIHgGs3XpQfYSlPtYcuDA_aH4tJEWDu9I,7477
17
+ datacontract/engines/soda/connections/bigquery.py,sha256=C-8kxmzpYe88bJp80ObHFLMh4rpnIjnUQ7XOj0Ke7lk,903
18
18
  datacontract/engines/soda/connections/dask.py,sha256=Yy6Et2n_vDVsdjtqyBWDSZt7mnjPzPk_MZ-92VZHfnY,1496
19
19
  datacontract/engines/soda/connections/databricks.py,sha256=lpMju-o_TzLZeF0EEVwePPr8JahqvFnj5xRYjF15fc8,561
20
20
  datacontract/engines/soda/connections/duckdb.py,sha256=2wzUWnK7CLi7EJTT2Mh8Arv2pg6XGToe_9DdvLu0cNY,5585
@@ -22,29 +22,34 @@ datacontract/engines/soda/connections/kafka.py,sha256=vh7z-4ZsmpXiYcogf3oTkagrAP
22
22
  datacontract/engines/soda/connections/postgres.py,sha256=9GTF4Es3M5vb7ocSGqAxXmslvkS5CjsPQGIuo020CFc,626
23
23
  datacontract/engines/soda/connections/snowflake.py,sha256=y1t2a1DWY4_tr5k-X5_nhLE6v1rfCwTahzhtHR91x9A,719
24
24
  datacontract/engines/soda/connections/sqlserver.py,sha256=RzGLbCUdRyfmDcqtM_AB9WZ-Xk-XYX91nkXpVNpYbvc,1440
25
- datacontract/export/avro_converter.py,sha256=KC4TLeacHSXDeEPGEuUO8wvMH5cwoSOLuep5VCBNmww,3320
26
- datacontract/export/avro_idl_converter.py,sha256=_2acoImuBqNqEt97OpBSewWT_w3aDBOdNosuy0gbkSY,9576
27
- datacontract/export/bigquery_converter.py,sha256=XSVX7aVqyhBrOI-_BiPz9gtZXoT6wd5XucHaoJfWOCo,3802
25
+ datacontract/export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
+ datacontract/export/avro_converter.py,sha256=pcNIJPZdW3MNHhePspFSMyy6qZdR1qb48PbTGbVQxaw,3795
27
+ datacontract/export/avro_idl_converter.py,sha256=-zZxV0OAC76tMkAA9hXbEtp2wtpildKJb0OIbPhgoJE,9794
28
+ datacontract/export/bigquery_converter.py,sha256=chAxgbYybyLG5v6SwqIweK9PePvE-36FStR7fyA_F_4,4577
28
29
  datacontract/export/csv_type_converter.py,sha256=ZZuJwBgQnafZC7PPvAXsBf2IajPJq8TYZ1l8Qq0GYeI,1290
29
- datacontract/export/dbml_converter.py,sha256=n01rABnJ9Fv-Hei3Nqxf9x9ifaNxr3VarOH5J8gqc6k,3402
30
- datacontract/export/dbt_converter.py,sha256=7ruAOEh5OgWZcmGsN4pjD5EQE6b_RVzRwOPAJRdrvyE,8543
31
- datacontract/export/go_converter.py,sha256=Wn0FBo6mCpn9mybLiAC-B2sXPP4nXKcpVh0kG4URPVA,3118
32
- datacontract/export/great_expectations_converter.py,sha256=nJwYgyQhvbApZDZ54hPFKVoVeEOWSA7Zxf6_ZIsapdI,4890
33
- datacontract/export/html_export.py,sha256=J6gW6PZJ-2WfLrO8zBr8BWgzS3XSVNCp3xaMb9pA8Xg,2368
34
- datacontract/export/jsonschema_converter.py,sha256=53G2tT1nKd_cyasT2ck6P3F-O6bHToRwYczdXmiMZGc,4589
35
- datacontract/export/odcs_converter.py,sha256=MHvIbvJKI-OB5JJaobCcegkvn_GxVhfTLoRDXRm133w,3726
36
- datacontract/export/protobuf_converter.py,sha256=K40yEdfRLYDLUx8bn3_an-cwdHfWv8_SBgzGLJT6mX4,2974
37
- datacontract/export/pydantic_converter.py,sha256=hlpi-qRNKd3ecnvO_kelCaODbHdMHiTZ0AG8BV-pxzc,5351
38
- datacontract/export/rdf_converter.py,sha256=wG4-Ocl6_8P2y2yccChGOnWTfH1VoUa1lz6FtpHyUw8,6103
39
- datacontract/export/sodacl_converter.py,sha256=BCP7FxhK_OV9lMf9mU7DjWf1k9MzTqfvtdQ6XFeXTlA,6738
40
- datacontract/export/sql_converter.py,sha256=OGC3i8YRj1z2R4owCe6iZ55YAdhKSR-KECt_h7TO3Qs,3755
41
- datacontract/export/sql_type_converter.py,sha256=DSIyBhRxU-Jo8NihwozE9Q_CZauBCoYziktc8tL-EWg,9037
42
- datacontract/export/terraform_converter.py,sha256=-xIIspVrvCyB2AVf1vd7bVGkWI3iiMUHX1btM_o1h-g,1943
30
+ datacontract/export/dbml_converter.py,sha256=dIx7iMxLrJkDPFt_pCc_r5VkremGjsoUpNWNYNSzet4,3693
31
+ datacontract/export/dbt_converter.py,sha256=QfapVeunwab7bWn_B9-J_1U8fm1wdsPBW_Ws2b99o1E,9390
32
+ datacontract/export/exporter.py,sha256=qHDZhqwynsOLJtreziKfMAvF2bbxlIWR1QD7aQFD4q4,2794
33
+ datacontract/export/exporter_factory.py,sha256=H7X0JK23Ez0ZQlp36xXaMonzB16OAUWpWJwjQVkRX9Q,2984
34
+ datacontract/export/go_converter.py,sha256=oWkEjOXBIGN8emTaxeJD8xpB3VYP4sVaNzKX-Oeqgw0,3330
35
+ datacontract/export/great_expectations_converter.py,sha256=LIuWHn3h7xRrDDs1YoibHOI8NVF2Izh5IZOQFLeWN7k,5302
36
+ datacontract/export/html_export.py,sha256=i7jckL80osA8incF0YoJdq3NaYmV1_3OU0cZBfPdNDs,2578
37
+ datacontract/export/jsonschema_converter.py,sha256=bP1hbLnEN-2fhKrjcAa4ORn0djC4SWfCQshRSuErTdI,4960
38
+ datacontract/export/odcs_converter.py,sha256=WngHoTF7R9uMDLCedBso7m2s0yDJQS5HTACtH3AhG-E,4673
39
+ datacontract/export/protobuf_converter.py,sha256=Baqq2uvRg0AHFo6gR-hEYdLyiYRWziC1Q4AujlHgCzo,3192
40
+ datacontract/export/pydantic_converter.py,sha256=1Lt9F8i6zyQYb44MyQtsXwCWWXYxZ47SmzArr_uPqsU,5579
41
+ datacontract/export/rdf_converter.py,sha256=nNYVKJ5bQEq-rRz3yHwpvbsNbvjoOMwkCfkev8Y11H0,6436
42
+ datacontract/export/sodacl_converter.py,sha256=NSiaztzpvHaU3x2ba5ebA3NbA27bmNVM2Fp0M1_RQC0,6962
43
+ datacontract/export/sql_converter.py,sha256=grDTj3MGhVc5BbJbZ__LFawJtrsnv4ApmOMX4ohPnCQ,4802
44
+ datacontract/export/sql_type_converter.py,sha256=tS2mrh-yXacbZg06nEUuZ-BQozU_00qPPExvmdJEA5A,8980
45
+ datacontract/export/terraform_converter.py,sha256=IFwn-6BWPVkfwDQbj_Gl0GwbJdMKiwKgXCXz5A64cEs,2163
43
46
  datacontract/imports/avro_importer.py,sha256=3QTnGNps-g1dxnJjLOLr8vk64jRNebHgN1EHrdcMiXc,5559
44
- datacontract/imports/bigquery_importer.py,sha256=HLotmmwCSe2sGBCI57gPQa3WyeTHA8h1yaDxp25TtLQ,6802
45
- datacontract/imports/glue_importer.py,sha256=HpS5E7774YqjF4hUItgtb5NVwA6OTwwjQbf-IyEejS8,5331
47
+ datacontract/imports/bigquery_importer.py,sha256=HzVx8XH7Rrgks2EL4CT-1MvjPYwCfJaCbUxaRcS9smY,7695
48
+ datacontract/imports/glue_importer.py,sha256=EkSAsh-f5TpgvW_sg9HuoO8pVOvhAzHHg2JqNEkBYHs,5709
46
49
  datacontract/imports/jsonschema_importer.py,sha256=f_x8DbWo423b6xcSIvY7jbk_rs2FM4lMMF75fSRE3sk,6329
50
+ datacontract/imports/odcs_importer.py,sha256=h4HUjApyhwWiZq1-uO9M0Sw18bHXudUaDxn3IDCvrr8,7167
47
51
  datacontract/imports/sql_importer.py,sha256=tCSayA0YK_zr_R_KElfz0GOQwP0Tzz3TdBHAICnPN84,2419
52
+ datacontract/imports/unity_importer.py,sha256=BOsuVKOwhH7Qg-VIK8LoIXvDaiT0UdLHyL-JRwYQgVs,5019
48
53
  datacontract/init/download_datacontract_file.py,sha256=pj_4mhWKlEtfueWohDgkb1nyuG5ERDipUDszxKwpZUs,413
49
54
  datacontract/integration/publish_datamesh_manager.py,sha256=3bWgWrdcJip0V3EzlLmuxBzAQBn6evEHbhrAKx1qEjY,1300
50
55
  datacontract/integration/publish_opentelemetry.py,sha256=PjU9XH2wgisg0dBP34bUvQazxVZjp37Zfck_xEu5sPQ,3812
@@ -62,7 +67,7 @@ datacontract/lint/linters/notice_period_linter.py,sha256=oHSOLU2uXd7BDvfEd_VjeXS
62
67
  datacontract/lint/linters/quality_schema_linter.py,sha256=-zaI49okETJYo-qR-J6rQqMRI9QX17UK9ASf1GxgYnk,2181
63
68
  datacontract/lint/linters/valid_constraints_linter.py,sha256=GeeE2hojMt24EoHuSHE1lURA2v2p5Dmxc7Qq8IvZQH0,4915
64
69
  datacontract/model/breaking_change.py,sha256=BIDEUo1U2CQLVT2-I5PyFttxAj6zQPI1UUkEoOOQXMY,2249
65
- datacontract/model/data_contract_specification.py,sha256=UIWE7QKYcWGxnNQ6kzYGXpXcPV9FSaNvEcEudWx_Gto,5257
70
+ datacontract/model/data_contract_specification.py,sha256=1z1ecGw4u0ktQn4343H9bRbH-ctnxlsRiQSWIykvgMA,5319
66
71
  datacontract/model/exceptions.py,sha256=zW9NoyzwsND-c9UqgyTVuezUVGEc6KK1Uc2zl12loyo,1178
67
72
  datacontract/model/run.py,sha256=v7QNsPwYS1otQrpjeOaFsLRnxO8OgbdK_d-Z_e3iy0s,2610
68
73
  datacontract/publish/publish.py,sha256=rWnQWWneCjokCpwYv88EAtAlFnA-3hZgl-1k6dak_8w,1191
@@ -74,11 +79,11 @@ datacontract/templates/partials/datacontract_terms.html,sha256=ASgoxLjT4Rd11Uhyv
74
79
  datacontract/templates/partials/definition.html,sha256=p0ICZL34gbIUMZvSZYIFCxWrv-euMyL7jhEzwCWnfHs,6404
75
80
  datacontract/templates/partials/example.html,sha256=F1dWbHDIXQScgfs4OVgqM1lR4uV4xX5j6suasXHNM88,1204
76
81
  datacontract/templates/partials/model_field.html,sha256=Xy8fauErx61HuTSPLLQHgAHfX3_ilRbE0c17-nX9jAY,5072
77
- datacontract/templates/partials/server.html,sha256=CINXVsdVAzDzrABtBOw4lD2qBUWb8kwcOsgZi_y8ZeU,4505
78
- datacontract/templates/style/output.css,sha256=lfmd1Kmrtq8F5entx2o-yy9XOAZN3WkWMKNvbEtSO1k,24999
79
- datacontract_cli-0.10.7.dist-info/LICENSE,sha256=23h64qnSeIZ0DKeziWAKC-zBCt328iSbRbWBrXoYRb4,2210
80
- datacontract_cli-0.10.7.dist-info/METADATA,sha256=-S9oqCD7uZWLX30vxB6LThbZo8Ocv3hlEWUbTa_CBMI,70579
81
- datacontract_cli-0.10.7.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
82
- datacontract_cli-0.10.7.dist-info/entry_points.txt,sha256=D3Eqy4q_Z6bHauGd4ppIyQglwbrm1AJnLau4Ppbw9Is,54
83
- datacontract_cli-0.10.7.dist-info/top_level.txt,sha256=VIRjd8EIUrBYWjEXJJjtdUgc0UAJdPZjmLiOR8BRBYM,13
84
- datacontract_cli-0.10.7.dist-info/RECORD,,
82
+ datacontract/templates/partials/server.html,sha256=bJdLAn-9FqP3D2zA1aBR3WdzSFUUaWvUrf-8wKfG2Fk,5321
83
+ datacontract/templates/style/output.css,sha256=6j8ZRXrRd_d0ex1i54z3I7AAahhx-w0h4VvNonT__IE,25118
84
+ datacontract_cli-0.10.8.dist-info/LICENSE,sha256=23h64qnSeIZ0DKeziWAKC-zBCt328iSbRbWBrXoYRb4,2210
85
+ datacontract_cli-0.10.8.dist-info/METADATA,sha256=Er2c6xRtjGg2ebGTQ-augKIibT82ct1W4Ckmamx7gyc,73238
86
+ datacontract_cli-0.10.8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
87
+ datacontract_cli-0.10.8.dist-info/entry_points.txt,sha256=D3Eqy4q_Z6bHauGd4ppIyQglwbrm1AJnLau4Ppbw9Is,54
88
+ datacontract_cli-0.10.8.dist-info/top_level.txt,sha256=VIRjd8EIUrBYWjEXJJjtdUgc0UAJdPZjmLiOR8BRBYM,13
89
+ datacontract_cli-0.10.8.dist-info/RECORD,,