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.

Files changed (37) hide show
  1. datacontract/cli.py +5 -0
  2. datacontract/data_contract.py +9 -1
  3. datacontract/engines/soda/connections/kafka.py +28 -6
  4. datacontract/export/avro_converter.py +8 -1
  5. datacontract/export/avro_idl_converter.py +1 -0
  6. datacontract/export/bigquery_converter.py +30 -23
  7. datacontract/export/data_caterer_converter.py +148 -0
  8. datacontract/export/dcs_exporter.py +6 -0
  9. datacontract/export/exporter.py +5 -1
  10. datacontract/export/exporter_factory.py +19 -1
  11. datacontract/export/jsonschema_converter.py +13 -2
  12. datacontract/export/{odcs_converter.py → odcs_v2_exporter.py} +4 -4
  13. datacontract/export/odcs_v3_exporter.py +294 -0
  14. datacontract/export/sodacl_converter.py +82 -2
  15. datacontract/export/spark_converter.py +3 -1
  16. datacontract/export/sql_type_converter.py +56 -21
  17. datacontract/imports/iceberg_importer.py +162 -0
  18. datacontract/imports/importer.py +1 -0
  19. datacontract/imports/importer_factory.py +5 -0
  20. datacontract/imports/odcs_importer.py +25 -168
  21. datacontract/imports/odcs_v2_importer.py +177 -0
  22. datacontract/imports/odcs_v3_importer.py +309 -0
  23. datacontract/imports/spark_importer.py +5 -1
  24. datacontract/imports/unity_importer.py +105 -84
  25. datacontract/integration/datamesh_manager.py +1 -1
  26. datacontract/lint/resolve.py +24 -10
  27. datacontract/lint/resources.py +21 -0
  28. datacontract/lint/urls.py +29 -13
  29. datacontract/model/data_contract_specification.py +72 -8
  30. datacontract/model/odcs.py +11 -0
  31. {datacontract_cli-0.10.12.dist-info → datacontract_cli-0.10.14.dist-info}/METADATA +106 -52
  32. {datacontract_cli-0.10.12.dist-info → datacontract_cli-0.10.14.dist-info}/RECORD +36 -29
  33. {datacontract_cli-0.10.12.dist-info → datacontract_cli-0.10.14.dist-info}/WHEEL +1 -1
  34. datacontract/engines/datacontract/check_that_datacontract_str_is_valid.py +0 -48
  35. {datacontract_cli-0.10.12.dist-info → datacontract_cli-0.10.14.dist-info}/LICENSE +0 -0
  36. {datacontract_cli-0.10.12.dist-info → datacontract_cli-0.10.14.dist-info}/entry_points.txt +0 -0
  37. {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=IFwIjs3q2SLEmBq02njzSGYUxGNPrJa15U3JTfThnn4,14931
3
- datacontract/data_contract.py,sha256=zW2Mfju4cv5NzjWvfy9EFZHFYxvZaTWs4ILB7mS66wg,13883
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=VPbH0GfJO_YuBGTyQ3xehjm-sVzSGn4y0bt-fZqPcok,7481
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=n14GtP88c5lpcxyxF5W86k7xYGiwc6j0PIedElbeWjM,4171
28
- datacontract/export/avro_idl_converter.py,sha256=-zZxV0OAC76tMkAA9hXbEtp2wtpildKJb0OIbPhgoJE,9794
29
- datacontract/export/bigquery_converter.py,sha256=chAxgbYybyLG5v6SwqIweK9PePvE-36FStR7fyA_F_4,4577
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/exporter.py,sha256=BKUAUT6vifrBn0ktIZ7V0HHAMWhmQMohM2v-TBoHOlA,2875
34
- datacontract/export/exporter_factory.py,sha256=cKyoHolVw3HrUtaqMKyh5NppvlNd_v54xJFC5bOD0gI,4931
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=Zqx4K7RZWfE9n_F4CMext82jd2Gr6EoqOnBXChRJgfM,4948
39
- datacontract/export/odcs_converter.py,sha256=WngHoTF7R9uMDLCedBso7m2s0yDJQS5HTACtH3AhG-E,4673
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=Uv3BOsq20YKCHmSU6mN-6L2hPPF4V9fPxDoJ42okfHs,7280
44
- datacontract/export/spark_converter.py,sha256=wyJLxsyE6lQx_JyMsPtkN67ogggNUef0TE4kcIicZaA,6990
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=hxIpkCZ3Isi_8Hj06D6PP0r92091J3lSy1QzSQdfeLw,10854
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/importer.py,sha256=FE9YsrcNunLiEpNGXd6PAHb_Zs8_dVUQPPBqOVAMBcE,812
55
- datacontract/imports/importer_factory.py,sha256=0D8imN7WvQyvASkYHN8JTvNO9VLBllwHlyTeZNUD9Js,3155
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=uDBCzWi8mKCslw6Og5t-037dVVVZVsbJjK3EHJH_zQI,7474
58
- datacontract/imports/spark_importer.py,sha256=fEOtUPVBRkhvaxsdk6fgRd_j-ka1TDwdrh6KkTLvv30,4942
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=5qoU-PRq8ABXxiqVll--L2_6V0iAVQgkooWcvRuchLU,5604
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=iNjDrcZfH8vyNbyQPbxkv7XMfG5rtbcLZXIlfMJ0c8c,2752
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=KOGKrf5wZYgsa5-Uc0x5-C5GX1aVt6TSftIwD8zxy_Y,8815
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=NHTbwadnm1VCxsiF7clfDvsxJ8-D3Mi5AzDj029E6wQ,1325
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=T_BEZojXRYC_1nc4wJf2Zlp0xZ9WWCqcC8VIGM6doS0,6073
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.12.dist-info/LICENSE,sha256=23h64qnSeIZ0DKeziWAKC-zBCt328iSbRbWBrXoYRb4,2210
92
- datacontract_cli-0.10.12.dist-info/METADATA,sha256=Kg7oXLjfYrIU1uNuhJMh5VSlwOBYX9NukWQpznbcQow,88281
93
- datacontract_cli-0.10.12.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
94
- datacontract_cli-0.10.12.dist-info/entry_points.txt,sha256=D3Eqy4q_Z6bHauGd4ppIyQglwbrm1AJnLau4Ppbw9Is,54
95
- datacontract_cli-0.10.12.dist-info/top_level.txt,sha256=VIRjd8EIUrBYWjEXJJjtdUgc0UAJdPZjmLiOR8BRBYM,13
96
- datacontract_cli-0.10.12.dist-info/RECORD,,
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,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (74.1.2)
2
+ Generator: setuptools (75.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -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
- )