acryl-datahub 0.15.0.4rc3__py3-none-any.whl → 0.15.0.5rc4__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.5rc4.dist-info}/METADATA +2457 -2457
- {acryl_datahub-0.15.0.4rc3.dist-info → acryl_datahub-0.15.0.5rc4.dist-info}/RECORD +26 -25
- 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/aws/glue.py +2 -0
- datahub/ingestion/source/looker/lookml_config.py +4 -1
- datahub/ingestion/source/looker/lookml_source.py +56 -0
- 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.5rc4.dist-info}/LICENSE +0 -0
- {acryl_datahub-0.15.0.4rc3.dist-info → acryl_datahub-0.15.0.5rc4.dist-info}/WHEEL +0 -0
- {acryl_datahub-0.15.0.4rc3.dist-info → acryl_datahub-0.15.0.5rc4.dist-info}/entry_points.txt +0 -0
- {acryl_datahub-0.15.0.4rc3.dist-info → acryl_datahub-0.15.0.5rc4.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=WfLwqZVZ8jnBAUkc1mxyo_REl_AjCDcwm9R97SuldaY,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
|
|
@@ -218,7 +219,7 @@ datahub/ingestion/source/abs/report.py,sha256=fzkTdTewYlWrTk4f2Cyl-e8RV4qw9wEVtm
|
|
|
218
219
|
datahub/ingestion/source/abs/source.py,sha256=cuMezUzr-Smp5tok2ceYor5I5jp52NDMjfeN8kfIbvg,24816
|
|
219
220
|
datahub/ingestion/source/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
220
221
|
datahub/ingestion/source/aws/aws_common.py,sha256=DfdQgkJ_s2isFx8WvqKTlAcBk4KE8SgfpmA5BgC3fgY,17716
|
|
221
|
-
datahub/ingestion/source/aws/glue.py,sha256=
|
|
222
|
+
datahub/ingestion/source/aws/glue.py,sha256=DwROr923M01QnvImUbMoHS6TTTT9kBz2tEmQ3Sv4EoY,58019
|
|
222
223
|
datahub/ingestion/source/aws/s3_boto_utils.py,sha256=Y54jlLV5gLcuZ4Zs57kIW5dYHD89RSFfsVNlFbRnSkQ,3901
|
|
223
224
|
datahub/ingestion/source/aws/s3_util.py,sha256=OFypcgmVC6jnZM90-gjcPpAMtTV1lbnreCaMhCzNlzs,2149
|
|
224
225
|
datahub/ingestion/source/aws/sagemaker.py,sha256=Bl2tkBYnrindgx61VHYgNovUF_Kp_fXNcivQn28vC2w,5254
|
|
@@ -345,9 +346,9 @@ datahub/ingestion/source/looker/looker_template_language.py,sha256=mfbU27NYs0mkZ
|
|
|
345
346
|
datahub/ingestion/source/looker/looker_usage.py,sha256=qFBX7OHtIcarYIqFe0jQMrDV8MMPV_nN4PZrZRUznTw,23029
|
|
346
347
|
datahub/ingestion/source/looker/looker_view_id_cache.py,sha256=92gDy6NONhJYBp92z_IBzDVZvezmUIkaBCZY1bdk6mE,4392
|
|
347
348
|
datahub/ingestion/source/looker/lookml_concept_context.py,sha256=eDaze9S7cgO5eFP7-0azUMEJyR3EfMjmfj5pMPjpm8c,18066
|
|
348
|
-
datahub/ingestion/source/looker/lookml_config.py,sha256=
|
|
349
|
+
datahub/ingestion/source/looker/lookml_config.py,sha256=Ub5Efgzb1bDId5nNcUhcZKEm2hp273wF5edip283U2g,10775
|
|
349
350
|
datahub/ingestion/source/looker/lookml_refinement.py,sha256=MkVreI0BylaCFyDHihDHaCcXyDSP84eF9p1h5d-ZHnM,9504
|
|
350
|
-
datahub/ingestion/source/looker/lookml_source.py,sha256=
|
|
351
|
+
datahub/ingestion/source/looker/lookml_source.py,sha256=qkLVzs5AHSA5B518s7fCD99KKHh6_8-QR8KM0mySnFg,42757
|
|
351
352
|
datahub/ingestion/source/looker/str_functions.py,sha256=zceEX2ka_4WaWwWgEdyknUSz7X3GrO951BkwSbF2afo,766
|
|
352
353
|
datahub/ingestion/source/looker/urn_functions.py,sha256=4VvqEfGvIMq3rNHHps0-HlPurMPnpqdxNtDAOOHIZww,528
|
|
353
354
|
datahub/ingestion/source/looker/view_upstream.py,sha256=4FCjZaU6p2G7npB2RJpP4Gv2yLjbvbsYWEbAg55IvjY,26110
|
|
@@ -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.5rc4.dist-info/LICENSE,sha256=9xNHpsD0uYF5ONzXsKDCuHHB-xbiCrSbueWXqrTNsxk,11365
|
|
997
|
+
acryl_datahub-0.15.0.5rc4.dist-info/METADATA,sha256=5_fFeSDo0RY3z5NeouX22pyoKVy8iM7I7a8KyYQz4Xg,173382
|
|
998
|
+
acryl_datahub-0.15.0.5rc4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
999
|
+
acryl_datahub-0.15.0.5rc4.dist-info/entry_points.txt,sha256=xnPSPLK3bJGADxe4TDS4wL4u0FT_PGlahDa-ENYdYCQ,9512
|
|
1000
|
+
acryl_datahub-0.15.0.5rc4.dist-info/top_level.txt,sha256=iLjSrLK5ox1YVYcglRUkcvfZPvKlobBWx7CTUXx8_GI,25
|
|
1001
|
+
acryl_datahub-0.15.0.5rc4.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.5rc4"
|
|
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
|
|
@@ -218,6 +218,7 @@ class GlueSourceConfig(
|
|
|
218
218
|
|
|
219
219
|
@dataclass
|
|
220
220
|
class GlueSourceReport(StaleEntityRemovalSourceReport):
|
|
221
|
+
catalog_id: Optional[str] = None
|
|
221
222
|
tables_scanned = 0
|
|
222
223
|
filtered: List[str] = dataclass_field(default_factory=list)
|
|
223
224
|
databases: EntityFilterReport = EntityFilterReport.field(type="database")
|
|
@@ -315,6 +316,7 @@ class GlueSource(StatefulIngestionSourceBase):
|
|
|
315
316
|
self.extract_owners = config.extract_owners
|
|
316
317
|
self.source_config = config
|
|
317
318
|
self.report = GlueSourceReport()
|
|
319
|
+
self.report.catalog_id = self.source_config.catalog_id
|
|
318
320
|
self.glue_client = config.glue_client
|
|
319
321
|
self.s3_client = config.s3_client
|
|
320
322
|
self.extract_transforms = config.extract_transforms
|
|
@@ -139,7 +139,10 @@ class LookMLSourceConfig(
|
|
|
139
139
|
)
|
|
140
140
|
emit_reachable_views_only: bool = Field(
|
|
141
141
|
True,
|
|
142
|
-
description=
|
|
142
|
+
description=(
|
|
143
|
+
"When enabled, only views that are reachable from explores defined in the model files are emitted. "
|
|
144
|
+
"If set to False, all views imported in model files are emitted. Views that are unreachable i.e. not explicitly defined in the model files are currently not emitted however reported as warning for debugging purposes."
|
|
145
|
+
),
|
|
143
146
|
)
|
|
144
147
|
populate_sql_logic_for_missing_descriptions: bool = Field(
|
|
145
148
|
False,
|
|
@@ -59,6 +59,7 @@ from datahub.ingestion.source.looker.lookml_concept_context import (
|
|
|
59
59
|
from datahub.ingestion.source.looker.lookml_config import (
|
|
60
60
|
BASE_PROJECT_NAME,
|
|
61
61
|
MODEL_FILE_EXTENSION,
|
|
62
|
+
VIEW_FILE_EXTENSION,
|
|
62
63
|
LookerConnectionDefinition,
|
|
63
64
|
LookMLSourceConfig,
|
|
64
65
|
LookMLSourceReport,
|
|
@@ -884,6 +885,7 @@ class LookMLSource(StatefulIngestionSourceBase):
|
|
|
884
885
|
view_urn = maybe_looker_view.id.get_urn(
|
|
885
886
|
self.source_config
|
|
886
887
|
)
|
|
888
|
+
|
|
887
889
|
view_connection_mapping = view_connection_map.get(
|
|
888
890
|
view_urn
|
|
889
891
|
)
|
|
@@ -939,6 +941,9 @@ class LookMLSource(StatefulIngestionSourceBase):
|
|
|
939
941
|
str(maybe_looker_view.id)
|
|
940
942
|
)
|
|
941
943
|
|
|
944
|
+
if not self.source_config.emit_reachable_views_only:
|
|
945
|
+
self.report_skipped_unreachable_views(viewfile_loader, processed_view_map)
|
|
946
|
+
|
|
942
947
|
if (
|
|
943
948
|
self.source_config.tag_measures_and_dimensions
|
|
944
949
|
and self.reporter.events_produced != 0
|
|
@@ -966,5 +971,56 @@ class LookMLSource(StatefulIngestionSourceBase):
|
|
|
966
971
|
),
|
|
967
972
|
).as_workunit()
|
|
968
973
|
|
|
974
|
+
def report_skipped_unreachable_views(
|
|
975
|
+
self,
|
|
976
|
+
viewfile_loader: LookerViewFileLoader,
|
|
977
|
+
processed_view_map: Dict[str, Set[str]] = {},
|
|
978
|
+
) -> None:
|
|
979
|
+
view_files: Dict[str, List[pathlib.Path]] = {}
|
|
980
|
+
for project, folder_path in self.base_projects_folder.items():
|
|
981
|
+
folder = pathlib.Path(folder_path)
|
|
982
|
+
view_files[project] = list(folder.glob(f"**/*{VIEW_FILE_EXTENSION}"))
|
|
983
|
+
|
|
984
|
+
skipped_view_paths: Dict[str, List[str]] = {}
|
|
985
|
+
for project, views in view_files.items():
|
|
986
|
+
skipped_paths: Set[str] = set()
|
|
987
|
+
|
|
988
|
+
for view_path in views:
|
|
989
|
+
# Check if the view is already in processed_view_map
|
|
990
|
+
if not any(
|
|
991
|
+
str(view_path) in view_set
|
|
992
|
+
for view_set in processed_view_map.values()
|
|
993
|
+
):
|
|
994
|
+
looker_viewfile = viewfile_loader.load_viewfile(
|
|
995
|
+
path=str(view_path),
|
|
996
|
+
project_name=project,
|
|
997
|
+
connection=None,
|
|
998
|
+
reporter=self.reporter,
|
|
999
|
+
)
|
|
1000
|
+
|
|
1001
|
+
if looker_viewfile is not None:
|
|
1002
|
+
for raw_view in looker_viewfile.views:
|
|
1003
|
+
raw_view_name = raw_view.get("name", "")
|
|
1004
|
+
|
|
1005
|
+
if (
|
|
1006
|
+
raw_view_name
|
|
1007
|
+
and self.source_config.view_pattern.allowed(
|
|
1008
|
+
raw_view_name
|
|
1009
|
+
)
|
|
1010
|
+
):
|
|
1011
|
+
skipped_paths.add(str(view_path))
|
|
1012
|
+
|
|
1013
|
+
skipped_view_paths[project] = list(skipped_paths)
|
|
1014
|
+
|
|
1015
|
+
for project, view_paths in skipped_view_paths.items():
|
|
1016
|
+
for path in view_paths:
|
|
1017
|
+
self.reporter.report_warning(
|
|
1018
|
+
title="Skipped View File",
|
|
1019
|
+
message=(
|
|
1020
|
+
"The Looker view file was skipped because it may not be referenced by any models."
|
|
1021
|
+
),
|
|
1022
|
+
context=(f"Project: {project}, View File Path: {path}"),
|
|
1023
|
+
)
|
|
1024
|
+
|
|
969
1025
|
def get_report(self):
|
|
970
1026
|
return self.reporter
|
|
@@ -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
|
},
|