datacontract-cli 0.10.12__py3-none-any.whl → 0.10.14__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.
- datacontract/cli.py +5 -0
- datacontract/data_contract.py +9 -1
- datacontract/engines/soda/connections/kafka.py +28 -6
- datacontract/export/avro_converter.py +8 -1
- datacontract/export/avro_idl_converter.py +1 -0
- datacontract/export/bigquery_converter.py +30 -23
- datacontract/export/data_caterer_converter.py +148 -0
- datacontract/export/dcs_exporter.py +6 -0
- datacontract/export/exporter.py +5 -1
- datacontract/export/exporter_factory.py +19 -1
- datacontract/export/jsonschema_converter.py +13 -2
- datacontract/export/{odcs_converter.py → odcs_v2_exporter.py} +4 -4
- datacontract/export/odcs_v3_exporter.py +294 -0
- datacontract/export/sodacl_converter.py +82 -2
- datacontract/export/spark_converter.py +3 -1
- datacontract/export/sql_type_converter.py +56 -21
- datacontract/imports/iceberg_importer.py +162 -0
- datacontract/imports/importer.py +1 -0
- datacontract/imports/importer_factory.py +5 -0
- datacontract/imports/odcs_importer.py +25 -168
- datacontract/imports/odcs_v2_importer.py +177 -0
- datacontract/imports/odcs_v3_importer.py +309 -0
- datacontract/imports/spark_importer.py +5 -1
- datacontract/imports/unity_importer.py +105 -84
- datacontract/integration/datamesh_manager.py +1 -1
- datacontract/lint/resolve.py +24 -10
- datacontract/lint/resources.py +21 -0
- datacontract/lint/urls.py +29 -13
- datacontract/model/data_contract_specification.py +72 -8
- datacontract/model/odcs.py +11 -0
- {datacontract_cli-0.10.12.dist-info → datacontract_cli-0.10.14.dist-info}/METADATA +106 -52
- {datacontract_cli-0.10.12.dist-info → datacontract_cli-0.10.14.dist-info}/RECORD +36 -29
- {datacontract_cli-0.10.12.dist-info → datacontract_cli-0.10.14.dist-info}/WHEEL +1 -1
- datacontract/engines/datacontract/check_that_datacontract_str_is_valid.py +0 -48
- {datacontract_cli-0.10.12.dist-info → datacontract_cli-0.10.14.dist-info}/LICENSE +0 -0
- {datacontract_cli-0.10.12.dist-info → datacontract_cli-0.10.14.dist-info}/entry_points.txt +0 -0
- {datacontract_cli-0.10.12.dist-info → datacontract_cli-0.10.14.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
datacontract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
datacontract/cli.py,sha256=
|
|
3
|
-
datacontract/data_contract.py,sha256=
|
|
2
|
+
datacontract/cli.py,sha256=1ISEaBHIHnlh-srGepldy20zHlnEH0qbhDRoqezAr6o,15132
|
|
3
|
+
datacontract/data_contract.py,sha256=JJ3WxNOb8cymkq3svSO0RcnnMZLigh7AGGMBDUVAJ_U,14057
|
|
4
4
|
datacontract/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
datacontract/web.py,sha256=Ov50NJVbQiaxjHXnVOvRw9moMkKHHcxFhdzwbA13QOw,2134
|
|
6
6
|
datacontract/breaking/breaking.py,sha256=l0ZwUX8G4QK_0nLRLJHArpwgTWTD7WQYMuAp3l_y1bY,12184
|
|
@@ -9,7 +9,6 @@ datacontract/catalog/catalog.py,sha256=reT2NDKGbjnid8itlBVL5gH9lJI_Z2V3NJa8AR7uG
|
|
|
9
9
|
datacontract/engines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
10
|
datacontract/engines/datacontract/check_that_datacontract_contains_valid_servers_configuration.py,sha256=TXO47ON3NjwYI4Y2eBYklMOCo7vAtYzqLPAhZhii6dg,1565
|
|
11
11
|
datacontract/engines/datacontract/check_that_datacontract_file_exists.py,sha256=XHvxX6BrTdZk2wN55zd6ER4k7ILDyGzjbCbZxQAJ2iE,665
|
|
12
|
-
datacontract/engines/datacontract/check_that_datacontract_str_is_valid.py,sha256=CsxFGyInjpsylmoofByV1b-wpFhG1jtRWxSUpp-BXk8,1525
|
|
13
12
|
datacontract/engines/fastjsonschema/check_jsonschema.py,sha256=tI5mfdxilAn-zmq02s8t6pNww9-uJYTOjooO0HimwQo,6321
|
|
14
13
|
datacontract/engines/fastjsonschema/s3/s3_read_files.py,sha256=vuz_hLF2VD8LR_prjQpPLBU8Is-iHLAvqp4KwclOv9I,1157
|
|
15
14
|
datacontract/engines/soda/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -18,32 +17,35 @@ datacontract/engines/soda/connections/bigquery.py,sha256=C-8kxmzpYe88bJp80ObHFLM
|
|
|
18
17
|
datacontract/engines/soda/connections/dask.py,sha256=Yy6Et2n_vDVsdjtqyBWDSZt7mnjPzPk_MZ-92VZHfnY,1496
|
|
19
18
|
datacontract/engines/soda/connections/databricks.py,sha256=lpMju-o_TzLZeF0EEVwePPr8JahqvFnj5xRYjF15fc8,561
|
|
20
19
|
datacontract/engines/soda/connections/duckdb.py,sha256=OVaxDO9HwfD4M6FYDIDS4zwnUJ20uAM1jz_Fy3EkClo,6271
|
|
21
|
-
datacontract/engines/soda/connections/kafka.py,sha256=
|
|
20
|
+
datacontract/engines/soda/connections/kafka.py,sha256=eyn4ExpnaqnKKFnl8-B2J66MqyvOGWlLyECHDBbJ6_s,8452
|
|
22
21
|
datacontract/engines/soda/connections/postgres.py,sha256=9GTF4Es3M5vb7ocSGqAxXmslvkS5CjsPQGIuo020CFc,626
|
|
23
22
|
datacontract/engines/soda/connections/snowflake.py,sha256=rfG2ysuqNM6TkvyqQKcGHFsTGJ6AROmud5VleUDRrb0,749
|
|
24
23
|
datacontract/engines/soda/connections/sqlserver.py,sha256=RzGLbCUdRyfmDcqtM_AB9WZ-Xk-XYX91nkXpVNpYbvc,1440
|
|
25
24
|
datacontract/engines/soda/connections/trino.py,sha256=JvKUP9aFg_n095oWE0-bGmfbETSWEOURGEZdQuG8txA,718
|
|
26
25
|
datacontract/export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
-
datacontract/export/avro_converter.py,sha256=
|
|
28
|
-
datacontract/export/avro_idl_converter.py,sha256
|
|
29
|
-
datacontract/export/bigquery_converter.py,sha256=
|
|
26
|
+
datacontract/export/avro_converter.py,sha256=xNRo0eXR3n--EA8SziarWqhlvOYtQWkWJtEiVK5QKXI,4451
|
|
27
|
+
datacontract/export/avro_idl_converter.py,sha256=pjxcOR3jE6-3qdKZ1AJPBsonwa6Y9HBExgeqBDiLFMk,9879
|
|
28
|
+
datacontract/export/bigquery_converter.py,sha256=gVo6PMoUalc3UuuMtw4CGgvm43ineHNtdu-F1OHKOwA,4639
|
|
30
29
|
datacontract/export/csv_type_converter.py,sha256=ZZuJwBgQnafZC7PPvAXsBf2IajPJq8TYZ1l8Qq0GYeI,1290
|
|
30
|
+
datacontract/export/data_caterer_converter.py,sha256=FaY6GkuR1SPjLbz6FgraEItOVVrYpv0Q5uyHI5fF44Y,5324
|
|
31
31
|
datacontract/export/dbml_converter.py,sha256=Lmg0so_YP652UvDiNYyhAzzxtYvaHQBWFMUHzWadSDA,4739
|
|
32
32
|
datacontract/export/dbt_converter.py,sha256=QfapVeunwab7bWn_B9-J_1U8fm1wdsPBW_Ws2b99o1E,9390
|
|
33
|
-
datacontract/export/
|
|
34
|
-
datacontract/export/
|
|
33
|
+
datacontract/export/dcs_exporter.py,sha256=RALQ7bLAjak7EsoFFL2GFX2Oju7pnCDPCdRN_wo9wHM,210
|
|
34
|
+
datacontract/export/exporter.py,sha256=SM0SKcmmGI855ilpAcRZiFu7MGsl8oVxcfwFEuae21U,2979
|
|
35
|
+
datacontract/export/exporter_factory.py,sha256=QWtBWuM37tIgfwYckV6bQGoUcOGXt6Fb6ekgwkgpsHU,5569
|
|
35
36
|
datacontract/export/go_converter.py,sha256=oWkEjOXBIGN8emTaxeJD8xpB3VYP4sVaNzKX-Oeqgw0,3330
|
|
36
37
|
datacontract/export/great_expectations_converter.py,sha256=LIuWHn3h7xRrDDs1YoibHOI8NVF2Izh5IZOQFLeWN7k,5302
|
|
37
38
|
datacontract/export/html_export.py,sha256=i7jckL80osA8incF0YoJdq3NaYmV1_3OU0cZBfPdNDs,2578
|
|
38
|
-
datacontract/export/jsonschema_converter.py,sha256=
|
|
39
|
-
datacontract/export/
|
|
39
|
+
datacontract/export/jsonschema_converter.py,sha256=O3pCtqiQ41m0M-ohmmq3eMgIioD3DRhnWGAsEsIKbKQ,5557
|
|
40
|
+
datacontract/export/odcs_v2_exporter.py,sha256=p3q34K2whAhY9OagQgsnlrjkCRMuoY0NbA4OKVoHqUM,4679
|
|
41
|
+
datacontract/export/odcs_v3_exporter.py,sha256=LF9OQHTNhvldCV3ey1Tb23ffgO9E-CbKrqi4B6x7KOE,12093
|
|
40
42
|
datacontract/export/protobuf_converter.py,sha256=Baqq2uvRg0AHFo6gR-hEYdLyiYRWziC1Q4AujlHgCzo,3192
|
|
41
43
|
datacontract/export/pydantic_converter.py,sha256=1Lt9F8i6zyQYb44MyQtsXwCWWXYxZ47SmzArr_uPqsU,5579
|
|
42
44
|
datacontract/export/rdf_converter.py,sha256=nNYVKJ5bQEq-rRz3yHwpvbsNbvjoOMwkCfkev8Y11H0,6436
|
|
43
|
-
datacontract/export/sodacl_converter.py,sha256=
|
|
44
|
-
datacontract/export/spark_converter.py,sha256=
|
|
45
|
+
datacontract/export/sodacl_converter.py,sha256=znUL40uT6pwyp7OylJv9Kf59xttwYTaQiq2iJJ5Zbn8,10382
|
|
46
|
+
datacontract/export/spark_converter.py,sha256=CglVBsR4_iYFiTBmNPrB0GMCf35nuRBgXfDWAKYWE9I,7159
|
|
45
47
|
datacontract/export/sql_converter.py,sha256=grDTj3MGhVc5BbJbZ__LFawJtrsnv4ApmOMX4ohPnCQ,4802
|
|
46
|
-
datacontract/export/sql_type_converter.py,sha256=
|
|
48
|
+
datacontract/export/sql_type_converter.py,sha256=MGTH1hXC90TLMEap1v_Fkahf4N6Ju8yf01pCT7wJrpg,11984
|
|
47
49
|
datacontract/export/sqlalchemy_converter.py,sha256=x2_MVvDMfqgf_c5yfWimSC0um718EYYUpFiCe1-HN4g,6469
|
|
48
50
|
datacontract/export/terraform_converter.py,sha256=IFwn-6BWPVkfwDQbj_Gl0GwbJdMKiwKgXCXz5A64cEs,2163
|
|
49
51
|
datacontract/imports/avro_importer.py,sha256=HkzaMCa9A20D3Z0O_7I67TRcqyNV9XGYX_0JAF51qF8,9937
|
|
@@ -51,21 +53,25 @@ datacontract/imports/bigquery_importer.py,sha256=zQU-eMOcY3ZRDXwyA4RYMorLKrSK0kg
|
|
|
51
53
|
datacontract/imports/dbml_importer.py,sha256=iWX8EmCRqGfVCtpI2oojVCQQA7oTahtsMUUm_3gPRcE,3869
|
|
52
54
|
datacontract/imports/dbt_importer.py,sha256=f96-eGbdkDMh8B6iKhWy4qfAskE-b4dpWYHfenjTX8Y,3236
|
|
53
55
|
datacontract/imports/glue_importer.py,sha256=QuMvuga4rfiYm59AopFrscGPaiJkgrjtbu0-09_uF_A,8368
|
|
54
|
-
datacontract/imports/
|
|
55
|
-
datacontract/imports/
|
|
56
|
+
datacontract/imports/iceberg_importer.py,sha256=N_nZHCkvsR-1g77pGEk9AYpkmqH2nOaCYuNTgdGhht0,5397
|
|
57
|
+
datacontract/imports/importer.py,sha256=J_77jlP37ZRT9aVUGcOtnuxTyPZZu3GT2X0ZlEw3a6U,836
|
|
58
|
+
datacontract/imports/importer_factory.py,sha256=oqcwc8BruCplO9KMcNAW6LL7NcjRrtLuW3R0hJ10-6c,3320
|
|
56
59
|
datacontract/imports/jsonschema_importer.py,sha256=cY70b2bFx9Kfsnq5vNj0iy_GvNOIcBH8xeFjrsxv4bQ,4925
|
|
57
|
-
datacontract/imports/odcs_importer.py,sha256=
|
|
58
|
-
datacontract/imports/
|
|
60
|
+
datacontract/imports/odcs_importer.py,sha256=w1TumifVSDgSwsxWV2VmbdzHkb_3vNBKt6mEVE-P284,2042
|
|
61
|
+
datacontract/imports/odcs_v2_importer.py,sha256=QUqInUIEy4GW_ybVQFMX818JWdEZ3aeEkTRwONLvpLc,7151
|
|
62
|
+
datacontract/imports/odcs_v3_importer.py,sha256=pzI2M0xCAjoOjymlvzo3-i8dk-8hwT9KkH6Ge_ScDog,12814
|
|
63
|
+
datacontract/imports/spark_importer.py,sha256=ZKjfZ-lqTRO_bU-QSvAeaXf8PWuR7FJZocUOWt8g0Qg,5099
|
|
59
64
|
datacontract/imports/sql_importer.py,sha256=CiOzSthTwyjCHxYQNVO7j4udchEFER8gtXrr_IyX2dU,2890
|
|
60
|
-
datacontract/imports/unity_importer.py,sha256=
|
|
65
|
+
datacontract/imports/unity_importer.py,sha256=a13eBZBYwIzaaeKE4wDWVEPGq5aCM4iZxmBxxpZe3MU,6737
|
|
61
66
|
datacontract/init/download_datacontract_file.py,sha256=pj_4mhWKlEtfueWohDgkb1nyuG5ERDipUDszxKwpZUs,413
|
|
62
|
-
datacontract/integration/datamesh_manager.py,sha256=
|
|
67
|
+
datacontract/integration/datamesh_manager.py,sha256=RWIrOKXtyeiDSTRthsLOXV1PxTEXFFasYp1F2ZCw77s,2749
|
|
63
68
|
datacontract/integration/opentelemetry.py,sha256=0XsqOsc06qNtXC5KqZCxyeC_IGlIi63lYWHh3KKlOO0,3828
|
|
64
69
|
datacontract/lint/files.py,sha256=tg0vq_w4LQsEr_8A5qr4hUJmHeGalUpsXJXC1t-OGC0,471
|
|
65
70
|
datacontract/lint/lint.py,sha256=GhgBwfDgihXfWIu1WUfYeJoxfYacVJrwq3L2KO4Z2Io,5076
|
|
66
|
-
datacontract/lint/resolve.py,sha256
|
|
71
|
+
datacontract/lint/resolve.py,sha256=-4FlYx5eDP4kTlefKYSll_InbvFQC8iYLlMLHxYJtZw,9607
|
|
72
|
+
datacontract/lint/resources.py,sha256=nfeZmORh1aP7EKpMKCmfbS04Te8pQ0nz64vJVkHOq3c,647
|
|
67
73
|
datacontract/lint/schema.py,sha256=php99jF3puwCWrE02JD1ownC5UFEKCZsLH89UGOxMww,1469
|
|
68
|
-
datacontract/lint/urls.py,sha256=
|
|
74
|
+
datacontract/lint/urls.py,sha256=W7Edcd8Iw4NjokVtuSshEfzsXshQpuh_tpO73aM9dsM,2294
|
|
69
75
|
datacontract/lint/linters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
76
|
datacontract/lint/linters/description_linter.py,sha256=Cm99NTWo75kDRIW63qz5uEa8xsug_8dFURPRC1twodw,1554
|
|
71
77
|
datacontract/lint/linters/example_model_linter.py,sha256=EljSvzI4RSswdZrGa840bX6Zjat2GI16o5yDmKJfDOg,3972
|
|
@@ -75,8 +81,9 @@ datacontract/lint/linters/notice_period_linter.py,sha256=oHSOLU2uXd7BDvfEd_VjeXS
|
|
|
75
81
|
datacontract/lint/linters/quality_schema_linter.py,sha256=-zaI49okETJYo-qR-J6rQqMRI9QX17UK9ASf1GxgYnk,2181
|
|
76
82
|
datacontract/lint/linters/valid_constraints_linter.py,sha256=GeeE2hojMt24EoHuSHE1lURA2v2p5Dmxc7Qq8IvZQH0,4915
|
|
77
83
|
datacontract/model/breaking_change.py,sha256=BIDEUo1U2CQLVT2-I5PyFttxAj6zQPI1UUkEoOOQXMY,2249
|
|
78
|
-
datacontract/model/data_contract_specification.py,sha256=
|
|
84
|
+
datacontract/model/data_contract_specification.py,sha256=VTzwjcy7qEh6tpAxy0ONqDKvmY3w13z73-4Hg1Skx5U,7417
|
|
79
85
|
datacontract/model/exceptions.py,sha256=zW9NoyzwsND-c9UqgyTVuezUVGEc6KK1Uc2zl12loyo,1178
|
|
86
|
+
datacontract/model/odcs.py,sha256=9PXwm72FASjNwteF1Jn591iP3-St0aq16Cpsk0PkEW8,389
|
|
80
87
|
datacontract/model/run.py,sha256=v7QNsPwYS1otQrpjeOaFsLRnxO8OgbdK_d-Z_e3iy0s,2610
|
|
81
88
|
datacontract/templates/datacontract.html,sha256=w9xGnjYFtFmmsU90_I1NHVLNcuS22flPw51oIAn56WY,13442
|
|
82
89
|
datacontract/templates/index.html,sha256=dggq8ng61xZEeu6-6tbTQqjNcRFT0JTkn7y75087U58,12503
|
|
@@ -88,9 +95,9 @@ datacontract/templates/partials/example.html,sha256=F1dWbHDIXQScgfs4OVgqM1lR4uV4
|
|
|
88
95
|
datacontract/templates/partials/model_field.html,sha256=kh_ZIqJuayyxN-zDNIUPIoXOZeehGxXQxiImYB6G5qY,6946
|
|
89
96
|
datacontract/templates/partials/server.html,sha256=WkWFbz1ZvhIAUQQhH5Lkwb0HZRW907ehEnFmJSkpquQ,6235
|
|
90
97
|
datacontract/templates/style/output.css,sha256=F3oEhUpuv8kA_dWr4pJymBS_Ju6huIIZdLMkJzPzMmU,25647
|
|
91
|
-
datacontract_cli-0.10.
|
|
92
|
-
datacontract_cli-0.10.
|
|
93
|
-
datacontract_cli-0.10.
|
|
94
|
-
datacontract_cli-0.10.
|
|
95
|
-
datacontract_cli-0.10.
|
|
96
|
-
datacontract_cli-0.10.
|
|
98
|
+
datacontract_cli-0.10.14.dist-info/LICENSE,sha256=23h64qnSeIZ0DKeziWAKC-zBCt328iSbRbWBrXoYRb4,2210
|
|
99
|
+
datacontract_cli-0.10.14.dist-info/METADATA,sha256=oL-1jeHoWVq24tKRTLBw5wAmu_A1DC_HxibjP4BMLo8,91309
|
|
100
|
+
datacontract_cli-0.10.14.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
|
101
|
+
datacontract_cli-0.10.14.dist-info/entry_points.txt,sha256=D3Eqy4q_Z6bHauGd4ppIyQglwbrm1AJnLau4Ppbw9Is,54
|
|
102
|
+
datacontract_cli-0.10.14.dist-info/top_level.txt,sha256=VIRjd8EIUrBYWjEXJJjtdUgc0UAJdPZjmLiOR8BRBYM,13
|
|
103
|
+
datacontract_cli-0.10.14.dist-info/RECORD,,
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
|
|
3
|
-
import fastjsonschema
|
|
4
|
-
import yaml
|
|
5
|
-
from fastjsonschema import JsonSchemaValueException
|
|
6
|
-
|
|
7
|
-
from datacontract.lint.schema import fetch_schema
|
|
8
|
-
from datacontract.model.run import Check, Run
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def check_that_datacontract_str_is_valid(run: Run, data_contract_str: str):
|
|
12
|
-
schema = fetch_schema()
|
|
13
|
-
data_contract_yaml = yaml.safe_load(data_contract_str)
|
|
14
|
-
try:
|
|
15
|
-
fastjsonschema.validate(schema, data_contract_yaml)
|
|
16
|
-
logging.debug("YAML data is valid.")
|
|
17
|
-
run.checks.append(
|
|
18
|
-
Check(
|
|
19
|
-
type="lint",
|
|
20
|
-
result="passed",
|
|
21
|
-
name="Check that data contract YAML is valid",
|
|
22
|
-
engine="datacontract",
|
|
23
|
-
)
|
|
24
|
-
)
|
|
25
|
-
except JsonSchemaValueException as e:
|
|
26
|
-
logging.warning("YAML data is invalid.")
|
|
27
|
-
logging.warning(f"Validation error: {e.message}")
|
|
28
|
-
run.checks.append(
|
|
29
|
-
Check(
|
|
30
|
-
type="lint",
|
|
31
|
-
result="failed",
|
|
32
|
-
name="Check that data contract YAML is valid",
|
|
33
|
-
reason=e.message,
|
|
34
|
-
engine="datacontract",
|
|
35
|
-
)
|
|
36
|
-
)
|
|
37
|
-
except Exception as e:
|
|
38
|
-
logging.warning("YAML data is invalid.")
|
|
39
|
-
logging.warning(f"Validation error: {str(e)}")
|
|
40
|
-
run.checks.append(
|
|
41
|
-
Check(
|
|
42
|
-
type="lint",
|
|
43
|
-
result="failed",
|
|
44
|
-
name="Check that data contract YAML is valid",
|
|
45
|
-
reason=str(e),
|
|
46
|
-
engine="datacontract",
|
|
47
|
-
)
|
|
48
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|