acryl-datahub 0.15.0.4rc3__py3-none-any.whl → 0.15.0.5rc3__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 acryl-datahub might be problematic. Click here for more details.
- {acryl_datahub-0.15.0.4rc3.dist-info → acryl_datahub-0.15.0.5rc3.dist-info}/METADATA +2479 -2479
- {acryl_datahub-0.15.0.4rc3.dist-info → acryl_datahub-0.15.0.5rc3.dist-info}/RECORD +23 -22
- datahub/__init__.py +1 -25
- datahub/_version.py +13 -0
- datahub/cli/check_cli.py +1 -1
- datahub/cli/cli_utils.py +3 -3
- datahub/cli/ingest_cli.py +2 -2
- datahub/emitter/rest_emitter.py +1 -1
- datahub/entrypoints.py +5 -5
- datahub/ingestion/api/registry.py +1 -1
- datahub/ingestion/reporting/datahub_ingestion_run_summary_provider.py +1 -1
- datahub/ingestion/run/connection.py +1 -1
- datahub/ingestion/run/pipeline.py +3 -3
- datahub/ingestion/source/snowflake/snowflake_schema_gen.py +17 -7
- datahub/ingestion/source/sql/clickhouse.py +5 -43
- datahub/ingestion/source/unity/proxy.py +2 -2
- datahub/telemetry/telemetry.py +4 -4
- datahub/testing/check_imports.py +28 -0
- datahub/upgrade/upgrade.py +4 -4
- {acryl_datahub-0.15.0.4rc3.dist-info → acryl_datahub-0.15.0.5rc3.dist-info}/LICENSE +0 -0
- {acryl_datahub-0.15.0.4rc3.dist-info → acryl_datahub-0.15.0.5rc3.dist-info}/WHEEL +0 -0
- {acryl_datahub-0.15.0.4rc3.dist-info → acryl_datahub-0.15.0.5rc3.dist-info}/entry_points.txt +0 -0
- {acryl_datahub-0.15.0.4rc3.dist-info → acryl_datahub-0.15.0.5rc3.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
datahub/__init__.py,sha256=
|
|
1
|
+
datahub/__init__.py,sha256=aq_i5lVREmoLfYIqcx_pEQicO855YlhD19tWc1eZZNI,59
|
|
2
2
|
datahub/__main__.py,sha256=pegIvQ9hzK7IhqVeUi1MeADSZ2QlP-D3K0OQdEg55RU,106
|
|
3
|
-
datahub/
|
|
3
|
+
datahub/_version.py,sha256=y-G1yv1bSuxJLKtiCJEKjyAqf2KI3SupqeNUfVB1MUg,324
|
|
4
|
+
datahub/entrypoints.py,sha256=osv2ailvuW-HHlAE0fOtyblJI1X7HInZutd9DC66jqQ,8022
|
|
4
5
|
datahub/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
6
|
datahub/_codegen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
7
|
datahub/_codegen/aspect.py,sha256=PJRa-Z4ouXHq3OkulfyWhwZn-fFUBDK_UPvmqaWdbWk,1063
|
|
@@ -58,8 +59,8 @@ datahub/api/graphql/assertion.py,sha256=ponITypRQ8vE8kiqRNpvdoniNJzi4aeBK97UvkF0
|
|
|
58
59
|
datahub/api/graphql/base.py,sha256=9q637r6v-RGOd8Mk8HW2g0vt9zpqFexsQ5R6TPEHVbs,1614
|
|
59
60
|
datahub/api/graphql/operation.py,sha256=h7OXbVRrpJgoth1X4cgeIFhD5JY1MGKg2KjVlQK1gqE,5116
|
|
60
61
|
datahub/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
|
-
datahub/cli/check_cli.py,sha256=
|
|
62
|
-
datahub/cli/cli_utils.py,sha256=
|
|
62
|
+
datahub/cli/check_cli.py,sha256=ajrWVMAHYbgvYi4OFitFXx7Y6oigvZFgIeUiKV9ECik,12859
|
|
63
|
+
datahub/cli/cli_utils.py,sha256=2uvPv6WqxbRdH7UteHwhRash4E0ncU5P6XebrFLeECo,13584
|
|
63
64
|
datahub/cli/config_utils.py,sha256=yuXw7RzpRY5x_-MAoqWbv46qUkIeRNAJL4_OeJpYdBE,4879
|
|
64
65
|
datahub/cli/container_cli.py,sha256=8D73hLfTHsDg4Cedh_2x0utl7ppOeB1TUJVRgur-Crw,3624
|
|
65
66
|
datahub/cli/delete_cli.py,sha256=oQ4Yy6hxZHcl67MYJiQumLs_8QmFEj7SPZFzxFXvDk8,23481
|
|
@@ -68,7 +69,7 @@ datahub/cli/docker_cli.py,sha256=w9ZQMRVlHwfJI2XDe7mO0lwnT7-dZoK6tPadSMgwEM8,364
|
|
|
68
69
|
datahub/cli/env_utils.py,sha256=RQzjg4JE29hjPt4v7p-RuqoOr99w8E3DBHWiN2Sm7T4,252
|
|
69
70
|
datahub/cli/exists_cli.py,sha256=IsuU86R-g7BJjAl1vULH6d-BWJHAKa4XHLZl5WxGUEM,1233
|
|
70
71
|
datahub/cli/get_cli.py,sha256=VV80BCXfZ0-C8fr2k43SIuN9DB-fOYP9StWsTHnXwFw,2327
|
|
71
|
-
datahub/cli/ingest_cli.py,sha256=
|
|
72
|
+
datahub/cli/ingest_cli.py,sha256=WAS_8BkoumzYVOsN8vbptKtQiQ61T958B_k49xJKdqI,22531
|
|
72
73
|
datahub/cli/json_file.py,sha256=nWo-VVthaaW4Do1eUqgrzk0fShb29MjiKXvZVOTq76c,943
|
|
73
74
|
datahub/cli/lite_cli.py,sha256=lolCnWWMMYojRMebbYTpHWBmOBQF_729RpW4A_y_xF4,13034
|
|
74
75
|
datahub/cli/migrate.py,sha256=3orGfLNsdh1Q7gkPaCaf2bBWM5b3Ih4fGFw3poe0wiA,17937
|
|
@@ -120,7 +121,7 @@ datahub/emitter/mcp.py,sha256=hAAYziDdkwjazQU0DtWMbQWY8wS09ACrKJbqxoWXdgc,9637
|
|
|
120
121
|
datahub/emitter/mcp_builder.py,sha256=_-d5o7RIwgtMMdr_9tg0oU5ta6lL4dqOie1a68WEjKg,11638
|
|
121
122
|
datahub/emitter/mcp_patch_builder.py,sha256=u7cpW6DkiN7KpLapmMaXgL_FneoN69boxiANbVgMdSI,4564
|
|
122
123
|
datahub/emitter/request_helper.py,sha256=33ORG3S3OVy97_jlWBRn7yUM5XCIkRN6WSdJvN7Ofcg,670
|
|
123
|
-
datahub/emitter/rest_emitter.py,sha256=
|
|
124
|
+
datahub/emitter/rest_emitter.py,sha256=zPQNTtZsY75gh7MabexNag-M4nATcumka_An0nNI3j0,17889
|
|
124
125
|
datahub/emitter/serialization_helper.py,sha256=q12Avmf70Vy4ttQGMJoTKlE5EsybMKNg2w3MQeZiHvk,3652
|
|
125
126
|
datahub/emitter/sql_parsing_builder.py,sha256=Cr5imZrm3dYDSCACt5MFscgHCtVbHTD6IjUmsvsKoEs,11991
|
|
126
127
|
datahub/emitter/synchronized_file_emitter.py,sha256=s4ATuxalI4GDAkrZTaGSegxBdvvNPZ9jRSdtElU0kNs,1805
|
|
@@ -135,7 +136,7 @@ datahub/ingestion/api/incremental_lineage_helper.py,sha256=JTmJvXzzwI04oTUTIeTKK
|
|
|
135
136
|
datahub/ingestion/api/incremental_properties_helper.py,sha256=KzdxdrQtaMV2XMHfPsCtRa7ffDGPA1w1hgPUjeenZBU,2514
|
|
136
137
|
datahub/ingestion/api/ingestion_job_checkpointing_provider_base.py,sha256=3lLdkkxVqE9MVc26cdXImPeWy16az5BwgcorWxeBV50,1759
|
|
137
138
|
datahub/ingestion/api/pipeline_run_listener.py,sha256=5uBP__LbMQxJ2utlf07cIzQINqPbUOKiZyOJta6a0og,713
|
|
138
|
-
datahub/ingestion/api/registry.py,sha256=
|
|
139
|
+
datahub/ingestion/api/registry.py,sha256=LbdZr89465Lj7ptQRVB4vI1JR1igWABvQFj9-WX63bI,7454
|
|
139
140
|
datahub/ingestion/api/report.py,sha256=eM_TWWz6iJNd-c_S2_4eg2qKLGYP8vSROb_TMiCwBhY,4644
|
|
140
141
|
datahub/ingestion/api/report_helpers.py,sha256=WbUC1kQeaKqIagGV3XzfPmPs7slAT1mfNY4og2BH2A8,994
|
|
141
142
|
datahub/ingestion/api/sink.py,sha256=nfal7nsYY1AT2WQRjqO48uAHitpjax7TsRVzYXnqbeM,4918
|
|
@@ -170,12 +171,12 @@ datahub/ingestion/graph/config.py,sha256=_oha8Je7P80ZmrkZUAaRHyYbdMmTkMI5JkYjEP2
|
|
|
170
171
|
datahub/ingestion/graph/connections.py,sha256=9462L0ZWGKURyypAln25eMPhK3pcufBar9tNDoqspXs,741
|
|
171
172
|
datahub/ingestion/graph/filters.py,sha256=UeUZQHoimavIYx-jXLA0WGkOUe10TaO8uEZkfa-QgNE,6188
|
|
172
173
|
datahub/ingestion/reporting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
173
|
-
datahub/ingestion/reporting/datahub_ingestion_run_summary_provider.py,sha256=
|
|
174
|
+
datahub/ingestion/reporting/datahub_ingestion_run_summary_provider.py,sha256=697UOvhZb5gneESRXtIIYOSU74gE2P_BTw0TBhQ9I7w,9917
|
|
174
175
|
datahub/ingestion/reporting/file_reporter.py,sha256=tiWukmMxHrTQI3rOAumsq6lRlw8T6spqpS6XBDYnrZU,1640
|
|
175
176
|
datahub/ingestion/reporting/reporting_provider_registry.py,sha256=jTYSh3T4sensjnHQfPLiIcbA2dG8w0px9ghChAJjGdU,310
|
|
176
177
|
datahub/ingestion/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
177
|
-
datahub/ingestion/run/connection.py,sha256=
|
|
178
|
-
datahub/ingestion/run/pipeline.py,sha256=
|
|
178
|
+
datahub/ingestion/run/connection.py,sha256=mngNzr5aRLUDa5Izqxa0xkdDEqEqcDuacWSKIlkdvPc,1483
|
|
179
|
+
datahub/ingestion/run/pipeline.py,sha256=3JKPVrKOMMVbXoFNaGoaE590oB9qIzYqF7obQtO9MKk,30631
|
|
179
180
|
datahub/ingestion/run/pipeline_config.py,sha256=EDwqlid4h_qyqyeTRCEqb1RiFA4py_T-Poz1eIKmzT4,4101
|
|
180
181
|
datahub/ingestion/sink/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
181
182
|
datahub/ingestion/sink/blackhole.py,sha256=-jYcWo4i8q7312bCIoHrGr7nT9JdPvA7c4jvSc7YOgY,557
|
|
@@ -439,7 +440,7 @@ datahub/ingestion/source/snowflake/snowflake_queries.py,sha256=x6__7kmlIKXdnvENy
|
|
|
439
440
|
datahub/ingestion/source/snowflake/snowflake_query.py,sha256=5po2FWz41UVowykJYbTFGxsltbmlHBCPcHG20VOhdOE,38469
|
|
440
441
|
datahub/ingestion/source/snowflake/snowflake_report.py,sha256=9Jjrie9XhD1JsIL2Wgx6pVPCNi9HuuAg6nuS0OgbLoE,6331
|
|
441
442
|
datahub/ingestion/source/snowflake/snowflake_schema.py,sha256=oZ05Y61RXTTXhjkPWkqXHxXg1v03UnDMz2QaTc3KtsA,21808
|
|
442
|
-
datahub/ingestion/source/snowflake/snowflake_schema_gen.py,sha256=
|
|
443
|
+
datahub/ingestion/source/snowflake/snowflake_schema_gen.py,sha256=_FTPlTaSJVdD3raXKGxuBlu2WntzfGWru_cfwqZztq8,46664
|
|
443
444
|
datahub/ingestion/source/snowflake/snowflake_shares.py,sha256=maZyFkfrbVogEFM0tTKRiNp9c_1muv6YfleSd3q0umI,6341
|
|
444
445
|
datahub/ingestion/source/snowflake/snowflake_summary.py,sha256=kTmuCtRnvHqM8WBYhWeK4XafJq3ssFL9kcS03jEeWT4,5506
|
|
445
446
|
datahub/ingestion/source/snowflake/snowflake_tag.py,sha256=TN_cTF4a8V_tbeR2czm_hoMYfQMuqmBbFlAqyh7PJzQ,6551
|
|
@@ -448,7 +449,7 @@ datahub/ingestion/source/snowflake/snowflake_utils.py,sha256=xq58c47zmaQPkTVqjKW
|
|
|
448
449
|
datahub/ingestion/source/snowflake/snowflake_v2.py,sha256=8nnQ_XlbT4q6y6_JleSV67njUaPjF9x1yehKu5I1lgc,32072
|
|
449
450
|
datahub/ingestion/source/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
450
451
|
datahub/ingestion/source/sql/athena.py,sha256=Uh9wGLOqAkcphffxOPIQNyXvjeRm74XIpaLb4rjqMjM,24045
|
|
451
|
-
datahub/ingestion/source/sql/clickhouse.py,sha256=
|
|
452
|
+
datahub/ingestion/source/sql/clickhouse.py,sha256=uSRy-HKAiGFTHVLoVtGoh23X0O1lwyYUaK8BaWkYhps,25555
|
|
452
453
|
datahub/ingestion/source/sql/cockroachdb.py,sha256=XaD7eae34plU9ISRC6PzYX9q6RdT2qkzjH6CpTOgkx4,1443
|
|
453
454
|
datahub/ingestion/source/sql/druid.py,sha256=lhO9CCOlHV-6LjBuAxAxtB9I1pvPtsGSdr63bz6_ilA,2837
|
|
454
455
|
datahub/ingestion/source/sql/hana.py,sha256=0PIvcX0Rz59NyR7Ag5Bv1MBV_UbJwxl9UAopo_xe_CA,1342
|
|
@@ -503,7 +504,7 @@ datahub/ingestion/source/unity/config.py,sha256=IE20ybsTd082ilDrnfPXl1GmjRxbWipT
|
|
|
503
504
|
datahub/ingestion/source/unity/connection_test.py,sha256=B143Wb28fS0V4GhygU9hzKqiArWBjsQO54IUCPf23dc,2586
|
|
504
505
|
datahub/ingestion/source/unity/ge_profiler.py,sha256=DFQKOqryMWFg-NqwfFGPklNH2hHSmZGKs8ij8QmXd7w,6402
|
|
505
506
|
datahub/ingestion/source/unity/hive_metastore_proxy.py,sha256=IAWWJjaW0si_UF52Se2D7wmdYRY_afUG4QlVmQu6xaw,15351
|
|
506
|
-
datahub/ingestion/source/unity/proxy.py,sha256=
|
|
507
|
+
datahub/ingestion/source/unity/proxy.py,sha256=qYgjw0COscvUk8TvgWwZKgYvkYyA3j4yc826IwfhIZg,18428
|
|
507
508
|
datahub/ingestion/source/unity/proxy_profiling.py,sha256=WLqvYP6MziaisA4LYL4T_GA-kPt6Xdde7bfaYsjYw40,9663
|
|
508
509
|
datahub/ingestion/source/unity/proxy_types.py,sha256=qrvHiwPzl5cPX-KRvcIGGeJVdr0I8XUQmoAI6ErZ-v8,9371
|
|
509
510
|
datahub/ingestion/source/unity/report.py,sha256=0Y-ciHVTI6ZKNCJ5zWoQh3Ze1c_GMqmTMKFwzXDuuOg,2788
|
|
@@ -894,9 +895,9 @@ datahub/sql_parsing/sqlglot_utils.py,sha256=6W6MQ5Yh0xXT9_h0jd19yoGWMdXicyRBDD_F
|
|
|
894
895
|
datahub/sql_parsing/tool_meta_extractor.py,sha256=qEPq8RFWyK0tmSPNlluvd5cxgwbd2v6m9ViSY4hm2QM,6822
|
|
895
896
|
datahub/telemetry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
896
897
|
datahub/telemetry/stats.py,sha256=TwaQisQlD2Bk0uw__pP6u3Ovz9r-Ip4pCwpnto4r5e0,959
|
|
897
|
-
datahub/telemetry/telemetry.py,sha256=
|
|
898
|
+
datahub/telemetry/telemetry.py,sha256=sGe3RsrkX1L_jrsRuz5Fd7_9vEY6mHMtkMqR_9_axbo,15025
|
|
898
899
|
datahub/testing/__init__.py,sha256=TywIuzGQvzJsNhI_PGD1RFk11M3RtGl9jIMtAVVHIkg,272
|
|
899
|
-
datahub/testing/check_imports.py,sha256=
|
|
900
|
+
datahub/testing/check_imports.py,sha256=qs2bk__DeAlsvh-Y9ln9FQfG9DsdIVuSoxkoh4pMmms,2316
|
|
900
901
|
datahub/testing/check_sql_parser_result.py,sha256=f7U7IUSbfV4VACdNI857wPZ9tAZ9j6mXiXmcJNT_RzM,2671
|
|
901
902
|
datahub/testing/check_str_enum.py,sha256=yqk0XXHOGteN-IGqCp5JHy0Kca13BnI09ZqKc4Nwl3E,1187
|
|
902
903
|
datahub/testing/compare_metadata_json.py,sha256=pVJB2qLoKzEJLBXqFT-qGrxpA1y76y-mIbvJf0NnAD0,5274
|
|
@@ -904,7 +905,7 @@ datahub/testing/docker_utils.py,sha256=g169iy_jNR_mg0p8X31cChZqjOryutAIHUYLq3xqu
|
|
|
904
905
|
datahub/testing/doctest.py,sha256=1_8WEhHZ2eRQtw8vsXKzr9L5zzvs0Tcr6q4mnkyyvtw,295
|
|
905
906
|
datahub/testing/mcp_diff.py,sha256=Dxde5uZHqZf1EjOkHm405OHY5PPJp03agZJM9SyR4yE,10717
|
|
906
907
|
datahub/upgrade/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
907
|
-
datahub/upgrade/upgrade.py,sha256=
|
|
908
|
+
datahub/upgrade/upgrade.py,sha256=Qy0pHqxpIPbD16mUcyk6Wkq9vbvnUPvtI5d9fovrY3Q,16338
|
|
908
909
|
datahub/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
909
910
|
datahub/utilities/_custom_package_loader.py,sha256=9kgPE7Y77E-hNee8l4sKtVby-btUNum3dBfDixMzcVA,2059
|
|
910
911
|
datahub/utilities/_markupsafe_compat.py,sha256=QX7c9KiHs56ASl7bJlgR4FAf3CGiY94zIr0h6Ak15To,444
|
|
@@ -992,9 +993,9 @@ datahub_provider/operators/datahub_assertion_operator.py,sha256=uvTQ-jk2F0sbqqxp
|
|
|
992
993
|
datahub_provider/operators/datahub_assertion_sensor.py,sha256=lCBj_3x1cf5GMNpHdfkpHuyHfVxsm6ff5x2Z5iizcAo,140
|
|
993
994
|
datahub_provider/operators/datahub_operation_operator.py,sha256=aevDp2FzX7FxGlXrR0khoHNbxbhKR2qPEX5e8O2Jyzw,174
|
|
994
995
|
datahub_provider/operators/datahub_operation_sensor.py,sha256=8fcdVBCEPgqy1etTXgLoiHoJrRt_nzFZQMdSzHqSG7M,168
|
|
995
|
-
acryl_datahub-0.15.0.
|
|
996
|
-
acryl_datahub-0.15.0.
|
|
997
|
-
acryl_datahub-0.15.0.
|
|
998
|
-
acryl_datahub-0.15.0.
|
|
999
|
-
acryl_datahub-0.15.0.
|
|
1000
|
-
acryl_datahub-0.15.0.
|
|
996
|
+
acryl_datahub-0.15.0.5rc3.dist-info/LICENSE,sha256=9xNHpsD0uYF5ONzXsKDCuHHB-xbiCrSbueWXqrTNsxk,11365
|
|
997
|
+
acryl_datahub-0.15.0.5rc3.dist-info/METADATA,sha256=iA_FeNAFTGBRzDr-rvVZXYUJtYerY57GdmWkuX4XCIg,173382
|
|
998
|
+
acryl_datahub-0.15.0.5rc3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
999
|
+
acryl_datahub-0.15.0.5rc3.dist-info/entry_points.txt,sha256=xnPSPLK3bJGADxe4TDS4wL4u0FT_PGlahDa-ENYdYCQ,9512
|
|
1000
|
+
acryl_datahub-0.15.0.5rc3.dist-info/top_level.txt,sha256=iLjSrLK5ox1YVYcglRUkcvfZPvKlobBWx7CTUXx8_GI,25
|
|
1001
|
+
acryl_datahub-0.15.0.5rc3.dist-info/RECORD,,
|
datahub/__init__.py
CHANGED
|
@@ -1,25 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import warnings
|
|
3
|
-
|
|
4
|
-
# Published at https://pypi.org/project/acryl-datahub/.
|
|
5
|
-
__package_name__ = "acryl-datahub"
|
|
6
|
-
__version__ = "0.15.0.4rc3"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def is_dev_mode() -> bool:
|
|
10
|
-
return __version__.endswith("dev0")
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def nice_version_name() -> str:
|
|
14
|
-
if is_dev_mode():
|
|
15
|
-
return "unavailable (installed in develop mode)"
|
|
16
|
-
return __version__
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if sys.version_info < (3, 8):
|
|
20
|
-
warnings.warn(
|
|
21
|
-
"DataHub requires Python 3.8 or newer. "
|
|
22
|
-
"Please upgrade your Python version to continue using DataHub.",
|
|
23
|
-
FutureWarning,
|
|
24
|
-
stacklevel=2,
|
|
25
|
-
)
|
|
1
|
+
from datahub._version import __package_name__, __version__
|
datahub/_version.py
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Published at https://pypi.org/project/acryl-datahub/.
|
|
2
|
+
__package_name__ = "acryl-datahub"
|
|
3
|
+
__version__ = "0.15.0.5rc3"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def is_dev_mode() -> bool:
|
|
7
|
+
return __version__.endswith("dev0")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def nice_version_name() -> str:
|
|
11
|
+
if is_dev_mode():
|
|
12
|
+
return "unavailable (installed in develop mode)"
|
|
13
|
+
return __version__
|
datahub/cli/check_cli.py
CHANGED
|
@@ -9,7 +9,7 @@ from typing import Dict, List, Optional, Union
|
|
|
9
9
|
|
|
10
10
|
import click
|
|
11
11
|
|
|
12
|
-
from datahub import __package_name__
|
|
12
|
+
from datahub._version import __package_name__
|
|
13
13
|
from datahub.cli.json_file import check_mce_file
|
|
14
14
|
from datahub.configuration import config_loader
|
|
15
15
|
from datahub.configuration.common import AllowDenyPattern
|
datahub/cli/cli_utils.py
CHANGED
|
@@ -9,7 +9,7 @@ import click
|
|
|
9
9
|
import requests
|
|
10
10
|
from requests.sessions import Session
|
|
11
11
|
|
|
12
|
-
import datahub
|
|
12
|
+
import datahub._version as datahub_version
|
|
13
13
|
from datahub.cli import config_utils
|
|
14
14
|
from datahub.emitter.aspect import ASPECT_MAP, TIMESERIES_ASPECT_MAP
|
|
15
15
|
from datahub.emitter.mcp import MetadataChangeProposalWrapper
|
|
@@ -422,5 +422,5 @@ def ensure_has_system_metadata(
|
|
|
422
422
|
if metadata.properties is None:
|
|
423
423
|
metadata.properties = {}
|
|
424
424
|
props = metadata.properties
|
|
425
|
-
props["clientId"] =
|
|
426
|
-
props["clientVersion"] =
|
|
425
|
+
props["clientId"] = datahub_version.__package_name__
|
|
426
|
+
props["clientVersion"] = datahub_version.__version__
|
datahub/cli/ingest_cli.py
CHANGED
|
@@ -12,7 +12,7 @@ import click_spinner
|
|
|
12
12
|
from click_default_group import DefaultGroup
|
|
13
13
|
from tabulate import tabulate
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
from datahub._version import nice_version_name
|
|
16
16
|
from datahub.cli import cli_utils
|
|
17
17
|
from datahub.cli.config_utils import CONDENSED_DATAHUB_CONFIG_PATH
|
|
18
18
|
from datahub.configuration.common import ConfigModel, GraphError
|
|
@@ -147,7 +147,7 @@ def run(
|
|
|
147
147
|
return ret
|
|
148
148
|
|
|
149
149
|
# main function begins
|
|
150
|
-
logger.info("DataHub CLI version: %s",
|
|
150
|
+
logger.info("DataHub CLI version: %s", nice_version_name())
|
|
151
151
|
|
|
152
152
|
pipeline_config = load_config_file(
|
|
153
153
|
config,
|
datahub/emitter/rest_emitter.py
CHANGED
|
@@ -22,7 +22,7 @@ from deprecated import deprecated
|
|
|
22
22
|
from requests.adapters import HTTPAdapter, Retry
|
|
23
23
|
from requests.exceptions import HTTPError, RequestException
|
|
24
24
|
|
|
25
|
-
from datahub import nice_version_name
|
|
25
|
+
from datahub._version import nice_version_name
|
|
26
26
|
from datahub.cli import config_utils
|
|
27
27
|
from datahub.cli.cli_utils import ensure_has_system_metadata, fixup_gms_url, get_or_else
|
|
28
28
|
from datahub.cli.env_utils import get_boolean_env_variable
|
datahub/entrypoints.py
CHANGED
|
@@ -6,7 +6,7 @@ from typing import ContextManager, Optional
|
|
|
6
6
|
|
|
7
7
|
import click
|
|
8
8
|
|
|
9
|
-
import datahub as
|
|
9
|
+
import datahub._version as datahub_version
|
|
10
10
|
from datahub.cli.check_cli import check
|
|
11
11
|
from datahub.cli.cli_utils import (
|
|
12
12
|
fixup_gms_url,
|
|
@@ -74,8 +74,8 @@ if sys.version_info >= (3, 12):
|
|
|
74
74
|
help="Write debug-level logs to a file.",
|
|
75
75
|
)
|
|
76
76
|
@click.version_option(
|
|
77
|
-
version=
|
|
78
|
-
prog_name=
|
|
77
|
+
version=datahub_version.nice_version_name(),
|
|
78
|
+
prog_name=datahub_version.__package_name__,
|
|
79
79
|
)
|
|
80
80
|
def datahub(
|
|
81
81
|
debug: bool,
|
|
@@ -112,7 +112,7 @@ def datahub(
|
|
|
112
112
|
def version(include_server: bool = False) -> None:
|
|
113
113
|
"""Print version number and exit."""
|
|
114
114
|
|
|
115
|
-
click.echo(f"DataHub CLI version: {
|
|
115
|
+
click.echo(f"DataHub CLI version: {datahub_version.nice_version_name()}")
|
|
116
116
|
click.echo(f"Models: {model_version_name()}")
|
|
117
117
|
click.echo(f"Python version: {sys.version}")
|
|
118
118
|
if include_server:
|
|
@@ -223,7 +223,7 @@ def main(**kwargs):
|
|
|
223
223
|
logger.exception(f"Command failed: {exc}")
|
|
224
224
|
|
|
225
225
|
logger.debug(
|
|
226
|
-
f"DataHub CLI version: {
|
|
226
|
+
f"DataHub CLI version: {datahub_version.__version__} at {__file__}"
|
|
227
227
|
)
|
|
228
228
|
logger.debug(
|
|
229
229
|
f"Python version: {sys.version} at {sys.executable} on {platform.platform()}"
|
|
@@ -15,7 +15,7 @@ import click
|
|
|
15
15
|
import humanfriendly
|
|
16
16
|
import psutil
|
|
17
17
|
|
|
18
|
-
import
|
|
18
|
+
from datahub._version import nice_version_name
|
|
19
19
|
from datahub.configuration.common import (
|
|
20
20
|
ConfigModel,
|
|
21
21
|
IgnorableError,
|
|
@@ -144,8 +144,8 @@ def _add_init_error_context(step: str) -> Iterator[None]:
|
|
|
144
144
|
|
|
145
145
|
@dataclass
|
|
146
146
|
class CliReport(Report):
|
|
147
|
-
cli_version: str =
|
|
148
|
-
cli_entry_location: str =
|
|
147
|
+
cli_version: str = nice_version_name()
|
|
148
|
+
cli_entry_location: str = __file__
|
|
149
149
|
models_version: str = model_version_name()
|
|
150
150
|
py_version: str = sys.version
|
|
151
151
|
py_exec_path: str = sys.executable
|
|
@@ -491,15 +491,25 @@ class SnowflakeSchemaGenerator(SnowflakeStructuredReportMixin):
|
|
|
491
491
|
try:
|
|
492
492
|
view_definitions = self.data_dictionary.get_secure_view_definitions()
|
|
493
493
|
return view_definitions[db_name][schema_name][table_name]
|
|
494
|
+
except KeyError:
|
|
495
|
+
# Received secure view definitions but the view is not present in results
|
|
496
|
+
self.structured_reporter.info(
|
|
497
|
+
title="Secure view definition not found",
|
|
498
|
+
message="Lineage will be missing for the view.",
|
|
499
|
+
context=f"{db_name}.{schema_name}.{table_name}",
|
|
500
|
+
)
|
|
501
|
+
return None
|
|
494
502
|
except Exception as e:
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
503
|
+
action_msg = (
|
|
504
|
+
"Please check permissions."
|
|
505
|
+
if isinstance(e, SnowflakePermissionError)
|
|
506
|
+
else ""
|
|
507
|
+
)
|
|
508
|
+
|
|
501
509
|
self.structured_reporter.warning(
|
|
502
|
-
|
|
510
|
+
title="Failed to get secure views definitions",
|
|
511
|
+
message=f"Lineage will be missing for the view. {action_msg}",
|
|
512
|
+
context=f"{db_name}.{schema_name}.{table_name}",
|
|
503
513
|
exc=e,
|
|
504
514
|
)
|
|
505
515
|
return None
|
|
@@ -53,7 +53,6 @@ from datahub.metadata.com.linkedin.pegasus2avro.schema import (
|
|
|
53
53
|
)
|
|
54
54
|
from datahub.metadata.schema_classes import (
|
|
55
55
|
DatasetLineageTypeClass,
|
|
56
|
-
DatasetPropertiesClass,
|
|
57
56
|
DatasetSnapshotClass,
|
|
58
57
|
UpstreamClass,
|
|
59
58
|
)
|
|
@@ -418,41 +417,11 @@ class ClickHouseSource(TwoTierSQLAlchemySource):
|
|
|
418
417
|
dataset_snapshot: DatasetSnapshotClass = wu.metadata.proposedSnapshot
|
|
419
418
|
assert dataset_snapshot
|
|
420
419
|
|
|
421
|
-
lineage_mcp
|
|
422
|
-
wu.metadata.proposedSnapshot.urn
|
|
423
|
-
)
|
|
420
|
+
lineage_mcp = self.get_lineage_mcp(wu.metadata.proposedSnapshot.urn)
|
|
424
421
|
|
|
425
422
|
if lineage_mcp is not None:
|
|
426
423
|
yield lineage_mcp.as_workunit()
|
|
427
424
|
|
|
428
|
-
if lineage_properties_aspect:
|
|
429
|
-
aspects = dataset_snapshot.aspects
|
|
430
|
-
if aspects is None:
|
|
431
|
-
aspects = []
|
|
432
|
-
|
|
433
|
-
dataset_properties_aspect: Optional[DatasetPropertiesClass] = None
|
|
434
|
-
|
|
435
|
-
for aspect in aspects:
|
|
436
|
-
if isinstance(aspect, DatasetPropertiesClass):
|
|
437
|
-
dataset_properties_aspect = aspect
|
|
438
|
-
|
|
439
|
-
if dataset_properties_aspect is None:
|
|
440
|
-
dataset_properties_aspect = DatasetPropertiesClass()
|
|
441
|
-
aspects.append(dataset_properties_aspect)
|
|
442
|
-
|
|
443
|
-
custom_properties = (
|
|
444
|
-
{
|
|
445
|
-
**dataset_properties_aspect.customProperties,
|
|
446
|
-
**lineage_properties_aspect.customProperties,
|
|
447
|
-
}
|
|
448
|
-
if dataset_properties_aspect.customProperties
|
|
449
|
-
else lineage_properties_aspect.customProperties
|
|
450
|
-
)
|
|
451
|
-
dataset_properties_aspect.customProperties = custom_properties
|
|
452
|
-
dataset_snapshot.aspects = aspects
|
|
453
|
-
|
|
454
|
-
dataset_snapshot.aspects.append(dataset_properties_aspect)
|
|
455
|
-
|
|
456
425
|
# Emit the work unit from super.
|
|
457
426
|
yield wu
|
|
458
427
|
|
|
@@ -656,19 +625,16 @@ class ClickHouseSource(TwoTierSQLAlchemySource):
|
|
|
656
625
|
|
|
657
626
|
def get_lineage_mcp(
|
|
658
627
|
self, dataset_urn: str
|
|
659
|
-
) ->
|
|
660
|
-
Optional[MetadataChangeProposalWrapper], Optional[DatasetPropertiesClass]
|
|
661
|
-
]:
|
|
628
|
+
) -> Optional[MetadataChangeProposalWrapper]:
|
|
662
629
|
dataset_key = mce_builder.dataset_urn_to_key(dataset_urn)
|
|
663
630
|
if dataset_key is None:
|
|
664
|
-
return None
|
|
631
|
+
return None
|
|
665
632
|
|
|
666
633
|
if not self._lineage_map:
|
|
667
634
|
self._populate_lineage()
|
|
668
635
|
assert self._lineage_map is not None
|
|
669
636
|
|
|
670
637
|
upstream_lineage: List[UpstreamClass] = []
|
|
671
|
-
custom_properties: Dict[str, str] = {}
|
|
672
638
|
|
|
673
639
|
if dataset_key.name in self._lineage_map:
|
|
674
640
|
item = self._lineage_map[dataset_key.name]
|
|
@@ -684,16 +650,12 @@ class ClickHouseSource(TwoTierSQLAlchemySource):
|
|
|
684
650
|
)
|
|
685
651
|
upstream_lineage.append(upstream_table)
|
|
686
652
|
|
|
687
|
-
properties = None
|
|
688
|
-
if custom_properties:
|
|
689
|
-
properties = DatasetPropertiesClass(customProperties=custom_properties)
|
|
690
|
-
|
|
691
653
|
if not upstream_lineage:
|
|
692
|
-
return None
|
|
654
|
+
return None
|
|
693
655
|
|
|
694
656
|
mcp = MetadataChangeProposalWrapper(
|
|
695
657
|
entityUrn=dataset_urn,
|
|
696
658
|
aspect=UpstreamLineage(upstreams=upstream_lineage),
|
|
697
659
|
)
|
|
698
660
|
|
|
699
|
-
return mcp
|
|
661
|
+
return mcp
|
|
@@ -26,7 +26,7 @@ from databricks.sdk.service.sql import (
|
|
|
26
26
|
)
|
|
27
27
|
from databricks.sdk.service.workspace import ObjectType
|
|
28
28
|
|
|
29
|
-
import
|
|
29
|
+
from datahub._version import nice_version_name
|
|
30
30
|
from datahub.emitter.mce_builder import parse_ts_millis
|
|
31
31
|
from datahub.ingestion.source.unity.hive_metastore_proxy import HiveMetastoreProxy
|
|
32
32
|
from datahub.ingestion.source.unity.proxy_profiling import (
|
|
@@ -103,7 +103,7 @@ class UnityCatalogApiProxy(UnityCatalogProxyProfilingMixin):
|
|
|
103
103
|
host=workspace_url,
|
|
104
104
|
token=personal_access_token,
|
|
105
105
|
product="datahub",
|
|
106
|
-
product_version=
|
|
106
|
+
product_version=nice_version_name(),
|
|
107
107
|
)
|
|
108
108
|
self.warehouse_id = warehouse_id or ""
|
|
109
109
|
self.report = report
|
datahub/telemetry/telemetry.py
CHANGED
|
@@ -12,7 +12,7 @@ from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, TypeVar
|
|
|
12
12
|
from mixpanel import Consumer, Mixpanel
|
|
13
13
|
from typing_extensions import ParamSpec
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
from datahub._version import __version__, nice_version_name
|
|
16
16
|
from datahub.cli.config_utils import DATAHUB_ROOT_FOLDER
|
|
17
17
|
from datahub.cli.env_utils import get_boolean_env_variable
|
|
18
18
|
from datahub.configuration.common import ExceptionWithProps
|
|
@@ -106,7 +106,7 @@ SENTRY_ENVIRONMENT: str = os.environ.get("SENTRY_ENVIRONMENT", "dev")
|
|
|
106
106
|
|
|
107
107
|
def _default_telemetry_properties() -> Dict[str, Any]:
|
|
108
108
|
return {
|
|
109
|
-
"datahub_version":
|
|
109
|
+
"datahub_version": nice_version_name(),
|
|
110
110
|
"python_version": platform.python_version(),
|
|
111
111
|
"os": platform.system(),
|
|
112
112
|
"arch": platform.machine(),
|
|
@@ -132,7 +132,7 @@ class Telemetry:
|
|
|
132
132
|
sentry_sdk.init(
|
|
133
133
|
dsn=SENTRY_DSN,
|
|
134
134
|
environment=SENTRY_ENVIRONMENT,
|
|
135
|
-
release=
|
|
135
|
+
release=__version__,
|
|
136
136
|
)
|
|
137
137
|
except Exception as e:
|
|
138
138
|
# We need to print initialization errors to stderr, since logger is not initialized yet
|
|
@@ -277,7 +277,7 @@ class Telemetry:
|
|
|
277
277
|
"environment",
|
|
278
278
|
{
|
|
279
279
|
"environment": SENTRY_ENVIRONMENT,
|
|
280
|
-
"datahub_version":
|
|
280
|
+
"datahub_version": nice_version_name(),
|
|
281
281
|
"os": platform.system(),
|
|
282
282
|
"python_version": platform.python_version(),
|
|
283
283
|
},
|
datahub/testing/check_imports.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import pathlib
|
|
2
|
+
import re
|
|
2
3
|
from typing import List
|
|
3
4
|
|
|
4
5
|
|
|
@@ -32,3 +33,30 @@ def ensure_no_indirect_model_imports(dirs: List[pathlib.Path]) -> None:
|
|
|
32
33
|
f"Disallowed import found in {file}: `{line.rstrip()}`. "
|
|
33
34
|
f"Import from {replacement} instead."
|
|
34
35
|
)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def ban_direct_datahub_imports(dirs: List[pathlib.Path]) -> None:
|
|
39
|
+
# We also want to ban all direct imports of datahub.
|
|
40
|
+
# The base `datahub` package is used to export public-facing classes.
|
|
41
|
+
# If we import it directly, we'll likely end up with circular imports.
|
|
42
|
+
|
|
43
|
+
banned_strings = [
|
|
44
|
+
r"^import datahub[\s$]",
|
|
45
|
+
r"^from datahub import",
|
|
46
|
+
]
|
|
47
|
+
ignored_files = {
|
|
48
|
+
__file__,
|
|
49
|
+
}
|
|
50
|
+
for dir in dirs:
|
|
51
|
+
for file in dir.rglob("*.py"):
|
|
52
|
+
if str(file) in ignored_files:
|
|
53
|
+
continue
|
|
54
|
+
|
|
55
|
+
file_contents = file.read_text()
|
|
56
|
+
|
|
57
|
+
for banned_string in banned_strings:
|
|
58
|
+
if re.search(banned_string, file_contents, re.MULTILINE):
|
|
59
|
+
raise ValueError(
|
|
60
|
+
f"Disallowed bare datahub import found in {file}. "
|
|
61
|
+
f"Do not import datahub directly; instead import from the underlying file."
|
|
62
|
+
)
|
datahub/upgrade/upgrade.py
CHANGED
|
@@ -10,7 +10,7 @@ import humanfriendly
|
|
|
10
10
|
from packaging.version import Version
|
|
11
11
|
from pydantic import BaseModel
|
|
12
12
|
|
|
13
|
-
from datahub import __version__
|
|
13
|
+
from datahub._version import __version__
|
|
14
14
|
from datahub.cli.config_utils import load_client_config
|
|
15
15
|
from datahub.ingestion.graph.client import DataHubGraph
|
|
16
16
|
from datahub.utilities.perf_timer import PerfTimer
|
|
@@ -93,11 +93,11 @@ async def get_github_stats():
|
|
|
93
93
|
async with aiohttp.ClientSession(
|
|
94
94
|
headers={"Accept": "application/vnd.github.v3+json"}
|
|
95
95
|
) as session:
|
|
96
|
-
gh_url = "https://api.github.com/repos/datahub-project/datahub/releases"
|
|
96
|
+
gh_url = "https://api.github.com/repos/datahub-project/datahub/releases/latest"
|
|
97
97
|
async with session.get(gh_url) as gh_response:
|
|
98
98
|
gh_response_json = await gh_response.json()
|
|
99
|
-
latest_server_version = Version(gh_response_json
|
|
100
|
-
latest_server_date = gh_response_json
|
|
99
|
+
latest_server_version = Version(gh_response_json.get("tag_name"))
|
|
100
|
+
latest_server_date = gh_response_json.get("published_at")
|
|
101
101
|
return (latest_server_version, latest_server_date)
|
|
102
102
|
|
|
103
103
|
|
|
File without changes
|
|
File without changes
|
{acryl_datahub-0.15.0.4rc3.dist-info → acryl_datahub-0.15.0.5rc3.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|