acryl-datahub 0.15.0.5rc6__py3-none-any.whl → 0.15.0.5rc7__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.

@@ -1,6 +1,6 @@
1
1
  datahub/__init__.py,sha256=aq_i5lVREmoLfYIqcx_pEQicO855YlhD19tWc1eZZNI,59
2
2
  datahub/__main__.py,sha256=pegIvQ9hzK7IhqVeUi1MeADSZ2QlP-D3K0OQdEg55RU,106
3
- datahub/_version.py,sha256=w4julQ8A-97paLIXUIUhvcioGTJP8CcU4tW-IaJw3zY,324
3
+ datahub/_version.py,sha256=glwuUeYA29D6Lba9dmX7Q88WndlOTabakvHafVUtwjM,324
4
4
  datahub/entrypoints.py,sha256=osv2ailvuW-HHlAE0fOtyblJI1X7HInZutd9DC66jqQ,8022
5
5
  datahub/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  datahub/_codegen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -42,7 +42,7 @@ datahub/api/entities/datajob/__init__.py,sha256=suzCs4cLphQ64oDG7meXsJVp6ya9_Glz
42
42
  datahub/api/entities/datajob/dataflow.py,sha256=Ajs6XP7-WMK4OwSm0JdFuGwggZhx-l5S-fwor68BBYk,6954
43
43
  datahub/api/entities/datajob/datajob.py,sha256=NxaRhpr135Pq1XAxcATEXfXYennT92GL_b7NROUxI98,7202
44
44
  datahub/api/entities/dataprocess/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- datahub/api/entities/dataprocess/dataprocess_instance.py,sha256=i_ZrhyXfcbVs8d8s4kLxZbUUyul-2iyBBgf7Yw82flM,14962
45
+ datahub/api/entities/dataprocess/dataprocess_instance.py,sha256=PIiGXTQLPWl_1rY43N1H-ygDXyzQrSQl0FOLhZ9-YX4,18853
46
46
  datahub/api/entities/dataproduct/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
47
  datahub/api/entities/dataproduct/dataproduct.py,sha256=148TmItxDDyGNzfZdL8aDreSEtyAw79IN8N8oSmNOPE,21461
48
48
  datahub/api/entities/dataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -280,7 +280,7 @@ datahub/ingestion/source/datahub/state.py,sha256=PZoT7sSK1wadVf5vN6phrgr7I6LL7eP
280
280
  datahub/ingestion/source/dbt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
281
281
  datahub/ingestion/source/dbt/dbt_cloud.py,sha256=tNpSHbPlLq-oFGbJsdkWY9kIaWmpjcZLWhj1CSewGGY,17981
282
282
  datahub/ingestion/source/dbt/dbt_common.py,sha256=y4VINaQQ-WhEf-rICGLGi1U88nKmRdVQPmh88OJROWg,80536
283
- datahub/ingestion/source/dbt/dbt_core.py,sha256=m6cA9vVd4Nh2arc-T2_xeQoxvreRbMhTDIJuYsx3wHc,22722
283
+ datahub/ingestion/source/dbt/dbt_core.py,sha256=SHtZg8ZAtmUwegpltIU8MhxBYuB_-oPOY4iBXc4SQIY,22713
284
284
  datahub/ingestion/source/dbt/dbt_tests.py,sha256=Q5KISW_AOOWqyxmyOgJQquyX7xlfOqKu9WhrHoLKC0M,9881
285
285
  datahub/ingestion/source/delta_lake/__init__.py,sha256=u5oqUeus81ONAtdl6o9Puw33ODSMun-0wLIamrZ4BUM,71
286
286
  datahub/ingestion/source/delta_lake/config.py,sha256=bVBwGjCPiXyjbCLQsamt4hAsKJMtMuxupKjwZEwtU78,3374
@@ -464,7 +464,7 @@ datahub/ingestion/source/sql/oracle.py,sha256=tVP3AiZO97psM8O8UzBb9C7__s8y4fkyQb
464
464
  datahub/ingestion/source/sql/postgres.py,sha256=uC1kYEI8VdxiZ1Y9IxMWzwmg11wtMqYN0e2fkok1rxo,11972
465
465
  datahub/ingestion/source/sql/presto.py,sha256=PB-CS5MX2dSRFRHjlxfkLHGXLZXFNCsVAAyRBtY6HMg,3611
466
466
  datahub/ingestion/source/sql/sql_common.py,sha256=E1QmJ35ZuDLiZj-s1niHvIdNMyEsZrwvq_Wuy2EoYMQ,48586
467
- datahub/ingestion/source/sql/sql_config.py,sha256=M-l_uXau0ODolLZHBzAXhy-Rq5yYxvJ6cLbCIea7Mww,9449
467
+ datahub/ingestion/source/sql/sql_config.py,sha256=CBXkCpzBAGrWAXJFte_i5TmpzcsMJwEjGHpfzd6vAow,8964
468
468
  datahub/ingestion/source/sql/sql_generic.py,sha256=9AERvkK8kdJUeDOzCYJDb93xdv6Z4DGho0NfeHj5Uyg,2740
469
469
  datahub/ingestion/source/sql/sql_generic_profiler.py,sha256=8cDmNpT_UXzYmP8-RWoDCnewmVGCj2cYCzH9_gSsF3o,11590
470
470
  datahub/ingestion/source/sql/sql_report.py,sha256=gw-OPHSExp_b6DRjvwqE1U6BpkwekxGrsvNMGYSGDio,2671
@@ -519,7 +519,7 @@ datahub/ingestion/source/usage/starburst_trino_usage.py,sha256=O3EDEZsXPNdsKGD-j
519
519
  datahub/ingestion/source/usage/usage_common.py,sha256=YGszLjmESiUXnpcPfnyQHtoM57HyWsIiLOQd5_sxECg,12238
520
520
  datahub/ingestion/source_config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
521
521
  datahub/ingestion/source_config/csv_enricher.py,sha256=IROxxfFJA56dHkmmbjjhb7h1pZSi33tzW9sQb7ZEgac,1733
522
- datahub/ingestion/source_config/operation_config.py,sha256=Q0NlqiEh4s4DFIII5NsAp5hxWTVyyJz-ldcQmH-B47s,3504
522
+ datahub/ingestion/source_config/operation_config.py,sha256=hxF2RM0jk0HUPXYiliMniXBC-wz-ZPcs90ZGLfHT8rE,3924
523
523
  datahub/ingestion/source_config/pulsar.py,sha256=sklDkh62CrWV-i7Ifh6R3T3smYVso6gyRJG8HVc6RdA,5533
524
524
  datahub/ingestion/source_report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
525
525
  datahub/ingestion/source_report/ingestion_stage.py,sha256=SU_FKFZhShZATLcFr735i_hWpdqNGdAWoZxh22p3P1k,1787
@@ -571,8 +571,8 @@ datahub/lite/lite_registry.py,sha256=bpH0kasP-LtwwUFNA2QsOIehfekAYfJtN-AkQLmSWnw
571
571
  datahub/lite/lite_server.py,sha256=p9Oa2nNs65mqcssSIVOr7VOzWqfVstz6ZQEdT4f82S0,1949
572
572
  datahub/lite/lite_util.py,sha256=pgBpT3vTO1YCQ2njZRNyicSkHYeEmQCt41BaXU8WvMo,4503
573
573
  datahub/metadata/__init__.py,sha256=AjhXPjI6cnpdcrBRrE5gOWo15vv2TTl2ctU4UAnUN7A,238
574
- datahub/metadata/_schema_classes.py,sha256=GMLN7Ov0m39EWaXlziVgINqxhihZDzNy2BztBIR9YM8,975061
575
- datahub/metadata/schema.avsc,sha256=sAPtgHSNJ1a126Vz7OjVIMKFjrrIG9f4cvRH6SkJ0jc,640786
574
+ datahub/metadata/_schema_classes.py,sha256=qfhPuX_aX16gaIzfsvAPE4ZxXtU0xI-cLoStOqKKE-c,979680
575
+ datahub/metadata/schema.avsc,sha256=ogTZxGz8yS6daHcxFzNpfnNNvwXtegrGXj4VgQdsEO4,643954
576
576
  datahub/metadata/schema_classes.py,sha256=X5Jl5EaSxyHdXOQv14pJ5WkQALun4MRpJ4q12wVFE18,1299
577
577
  datahub/metadata/urns.py,sha256=nfrCTExR-k2P9w272WVtWSN3xW1VUJngPwP3xnvULjU,1217
578
578
  datahub/metadata/_urns/__init__.py,sha256=cOF3GHMDgPhmbLKbN02NPpuLGHSu0qNgQyBRv08eqF0,243
@@ -586,7 +586,7 @@ datahub/metadata/com/linkedin/pegasus2avro/access/token/__init__.py,sha256=P9M7N
586
586
  datahub/metadata/com/linkedin/pegasus2avro/assertion/__init__.py,sha256=PgK5O-6pVRaEcvmwXAsSkwRLe8NjGiLH8AVBXeArqK8,5751
587
587
  datahub/metadata/com/linkedin/pegasus2avro/businessattribute/__init__.py,sha256=N8kO-eUi0_Rt7weizIExxlnJ2_kZRtPrZLWCC1xtDMA,653
588
588
  datahub/metadata/com/linkedin/pegasus2avro/chart/__init__.py,sha256=RNyyHLBNp_fxgFcBOLWO2UsXR1ofD_JczcBdPEQSusg,848
589
- datahub/metadata/com/linkedin/pegasus2avro/common/__init__.py,sha256=x3AG1BxTAQijzsm_eKaP0P9VFraUT32d0glfvbQBrVI,5618
589
+ datahub/metadata/com/linkedin/pegasus2avro/common/__init__.py,sha256=D5rQ4RNxPzVaZOedwUup9-LMy1pIBhQxL7EQ7jaxvaM,5885
590
590
  datahub/metadata/com/linkedin/pegasus2avro/common/fieldtransformer/__init__.py,sha256=FN63vLiB3FCmIRqBjTA-0Xt7M6i7h5NhaVzbA1ysv18,396
591
591
  datahub/metadata/com/linkedin/pegasus2avro/connection/__init__.py,sha256=qRtw-dB14pzVzgQ0pDK8kyBplNdpRxVKNj4D70e_FqI,564
592
592
  datahub/metadata/com/linkedin/pegasus2avro/container/__init__.py,sha256=3yWt36KqDKFhRc9pzvt0AMnbMTlhKurGvT3BUvc25QU,510
@@ -651,7 +651,7 @@ datahub/metadata/com/linkedin/pegasus2avro/view/__init__.py,sha256=-Le-jOqUJKv3p
651
651
  datahub/metadata/schemas/Access.avsc,sha256=gdEfWJLkvjIz-jzlceK4Dl5pBDdCHG423Ba_EYGQgUk,1562
652
652
  datahub/metadata/schemas/Actors.avsc,sha256=M76L2_Dlp7VyhVtu9__jhnh8rBNvNobtNJUfvl7bcPE,1188
653
653
  datahub/metadata/schemas/AssertionActions.avsc,sha256=zrvXzX2Nv_dmK6I3ZXCVWQ1bVs1q01Gl9sDRJA8oSDU,1618
654
- datahub/metadata/schemas/AssertionInfo.avsc,sha256=BRkjHzkTCjfqaYpm8EDiLtTAhN50yMkHH5eE3QLpGbY,125083
654
+ datahub/metadata/schemas/AssertionInfo.avsc,sha256=ElESZKMXPjp_ay1BR8jWrY8jD4dehY2p5JgUvBI6xhM,125123
655
655
  datahub/metadata/schemas/AssertionKey.avsc,sha256=EjNaTyzGxtWzTsZd87P2ZSaGX5dn8Y7HGBdqvlQVrFI,638
656
656
  datahub/metadata/schemas/AssertionRunEvent.avsc,sha256=FUyV73bUliBC-a_XFUlfgh75o99-lu1fl36b2q8Pqx4,12886
657
657
  datahub/metadata/schemas/BrowsePaths.avsc,sha256=NR_4dKuJMk1X2RB4DLkHVSqyMQc4PvT7eR0n6lM5aOM,654
@@ -674,7 +674,7 @@ datahub/metadata/schemas/CorpUserCredentials.avsc,sha256=S7FkV9K_DGxhb4GFYbM5_lP
674
674
  datahub/metadata/schemas/CorpUserEditableInfo.avsc,sha256=VazSsT1oQZNHeG8rAXPSKV79W6ZcCgUL1J7yKJUTDvU,3380
675
675
  datahub/metadata/schemas/CorpUserInfo.avsc,sha256=jcfg1NI5DeJsmFEIYy6ZI65mDDwJRfdTu3WeltfeU1A,3686
676
676
  datahub/metadata/schemas/CorpUserKey.avsc,sha256=-Spvvcss0sJoADygdChWa99rYiMMRwEx77GvW-jLTN0,984
677
- datahub/metadata/schemas/CorpUserSettings.avsc,sha256=MQEquhbkAs8zVlqnxYplR7WiyLKfFMiU9a4VHYLyavA,1847
677
+ datahub/metadata/schemas/CorpUserSettings.avsc,sha256=fS2HUD0L9_rsPyqo0DRxibzPi8_IkkWTY6Zuqob1sPg,2097
678
678
  datahub/metadata/schemas/CorpUserStatus.avsc,sha256=yqojAXEQ9CjRhY58RPyTUxzmFbHSANGGaMMbqiYZZIE,2538
679
679
  datahub/metadata/schemas/Cost.avsc,sha256=o4kYZSss2uEwJ6gCA9fhBUoyD5xUqcSxz78vkIXXzGQ,1494
680
680
  datahub/metadata/schemas/DashboardInfo.avsc,sha256=kuRyOSQWRvV9ydhozTWKWrNfbD8ZNeWawGGR4xSHhaI,12917
@@ -738,7 +738,8 @@ datahub/metadata/schemas/DatasetProfile.avsc,sha256=3ZCU9JD6l2razACp0AY6LLMgnkMT
738
738
  datahub/metadata/schemas/DatasetProperties.avsc,sha256=DFJn75feqaoQk84zin_o_lqsFFhqkwya5LGC5LLJXbU,4209
739
739
  datahub/metadata/schemas/DatasetUpstreamLineage.avsc,sha256=PjAWPbsqwH7FjX2kFDy0dE6ENYOwRynH9vJerWisr2A,5365
740
740
  datahub/metadata/schemas/DatasetUsageStatistics.avsc,sha256=JKNy_KlUqr3kt7o1Cu2DiQx3XUG_NQbVFVpeNr4ntCc,6999
741
- datahub/metadata/schemas/Deprecation.avsc,sha256=KItgnvran9xSSpAjmt2RYsF_5ERh5FnlygeMT6bnhiA,1053
741
+ datahub/metadata/schemas/Deprecation.avsc,sha256=SmbTlMB9fujdMBjYEQkzaU4XJzwM1gD6E8L2zoL1b4Q,1280
742
+ datahub/metadata/schemas/DisplayProperties.avsc,sha256=MTa_g2s0roxNFFggWU8rslUH3UFe3xe11uUXyh0Go_I,1732
742
743
  datahub/metadata/schemas/Documentation.avsc,sha256=9vIJG9B08FFrC3y5c1XVaT5U3c-b5sOAc5foUxMnyCs,4836
743
744
  datahub/metadata/schemas/DomainKey.avsc,sha256=1_kbsMTsO2ebB3zW7KpB71QfkGGR0mAgpNOKRoWHsJU,649
744
745
  datahub/metadata/schemas/DomainProperties.avsc,sha256=6do6wZ9G6gyt1QowQyi1xldqgdTXspb05FaqWpKJ6eM,3843
@@ -809,7 +810,7 @@ datahub/metadata/schemas/MLModelProperties.avsc,sha256=hDCBHxGe-cmCBeU1k0ANuQlKj
809
810
  datahub/metadata/schemas/MLPrimaryKeyKey.avsc,sha256=mX4CQcoN3FC_VQDBCkhlmJk4pfQKDrSeuqqCTTXTmq8,1092
810
811
  datahub/metadata/schemas/MLPrimaryKeyProperties.avsc,sha256=URIuOpS93RVk8MZVcbZ-dmTwu_cN3KSOKxSR8fm-eTo,6744
811
812
  datahub/metadata/schemas/MLTrainingRunProperties.avsc,sha256=WGgj0MuQrGD4UgvyHCJHzTnHja2LlJTOr1gLu8SySj0,4269
812
- datahub/metadata/schemas/MetadataChangeEvent.avsc,sha256=mk-ggA71SFW1H_BdzaLXMgH01wVzImCNPviGiH_v94Y,372781
813
+ datahub/metadata/schemas/MetadataChangeEvent.avsc,sha256=pbt_zFR9fPRm5ek1cuYa1eMCNs3aD7F6jOruQaee2NY,373224
813
814
  datahub/metadata/schemas/MetadataChangeLog.avsc,sha256=mpdodpx25E6M1Gq_7slEcPAm-1Es5xPsoqV60HgO7zg,12167
814
815
  datahub/metadata/schemas/MetadataChangeProposal.avsc,sha256=EMfQrYsuHf1p6UvBjoLtfdTHGe-vGNJaCFEHz8hdKU0,9698
815
816
  datahub/metadata/schemas/Metrics.avsc,sha256=O7DJGjOwmHbb1x_Zj7AuM_HaHKjBvkfJKfUsX8icXD4,690
@@ -826,7 +827,7 @@ datahub/metadata/schemas/PartitionsSummary.avsc,sha256=bl6_ElsVS8OowD5HsfQo9ZhfH
826
827
  datahub/metadata/schemas/PlatformEvent.avsc,sha256=W3BmAMBVGlAXcWvVv4Yy3NUJs-t-apxNdtyYI-uPH1g,1568
827
828
  datahub/metadata/schemas/PlatformResourceInfo.avsc,sha256=k67bOPnoOwn1-3TldvWZqPrCwedgt2QNGhqmeo0jAys,4146
828
829
  datahub/metadata/schemas/PlatformResourceKey.avsc,sha256=XLRvsdUD73r2GaKidYYC0-FK-naclWM1FBw0L_28xaI,1687
829
- datahub/metadata/schemas/PostInfo.avsc,sha256=tPD_4SWGst3oWbIAPKHYSpC_K6_gKNaYDTj1EqLitJQ,7208
830
+ datahub/metadata/schemas/PostInfo.avsc,sha256=CxL1Z-6jWO-xQ7mei5dwAFe_U7sfkQrkSBP5Aab98lU,7884
830
831
  datahub/metadata/schemas/PostKey.avsc,sha256=ITlTYSqVPbmiE-6EmwNN50VZRrZGnzjj8551Gs0eOHY,457
831
832
  datahub/metadata/schemas/QuantitativeAnalyses.avsc,sha256=XrGYVoGUh7ZRjAbMORSiqF5Zl4a0IbYDPiQuSJhABZM,960
832
833
  datahub/metadata/schemas/QueryKey.avsc,sha256=VI4oIHvAO7f0lN_7V3QVuBfHcPz31c57XtW6IrlDfxc,518
@@ -838,7 +839,7 @@ datahub/metadata/schemas/RoleMembership.avsc,sha256=Al3LXKRowCiHhgTfwr3a-piID3Ld
838
839
  datahub/metadata/schemas/RoleProperties.avsc,sha256=tDw-WF1uBGIcrk38nOnXs3FCF_YjBhScarJbreQvwjE,3037
839
840
  datahub/metadata/schemas/SchemaFieldAliases.avsc,sha256=El_cxn0KUhMf2LGfMPzcZ6Xtths2wQOaF9fnM1KQmxQ,560
840
841
  datahub/metadata/schemas/SchemaFieldInfo.avsc,sha256=Gf9EGqrEf10554hd4Eut7T8ZdOR-9OHgDXVRhFo311o,800
841
- datahub/metadata/schemas/SchemaFieldKey.avsc,sha256=ClAugan-eR71rp38YJklEglca8EW5MMAxEQLoSX-L6Y,946
842
+ datahub/metadata/schemas/SchemaFieldKey.avsc,sha256=TK_RiRbTm9965OxlQH28-x-KH0lpavW3zMlXx5ChnJ0,967
842
843
  datahub/metadata/schemas/SchemaMetadata.avsc,sha256=1rUs2G3tpG02FNxRGMlRaW0FDeTEwS36Rmh2Obz4h40,40849
843
844
  datahub/metadata/schemas/Siblings.avsc,sha256=NTktntlHuA1InH3TgrspWlFBntYlqmp3erUd-JFMsps,842
844
845
  datahub/metadata/schemas/SourceCode.avsc,sha256=tUgo2rczO5x1fxw3fYNWQj-51vRNmNIj38b1wayA0aQ,1370
@@ -996,9 +997,9 @@ datahub_provider/operators/datahub_assertion_operator.py,sha256=uvTQ-jk2F0sbqqxp
996
997
  datahub_provider/operators/datahub_assertion_sensor.py,sha256=lCBj_3x1cf5GMNpHdfkpHuyHfVxsm6ff5x2Z5iizcAo,140
997
998
  datahub_provider/operators/datahub_operation_operator.py,sha256=aevDp2FzX7FxGlXrR0khoHNbxbhKR2qPEX5e8O2Jyzw,174
998
999
  datahub_provider/operators/datahub_operation_sensor.py,sha256=8fcdVBCEPgqy1etTXgLoiHoJrRt_nzFZQMdSzHqSG7M,168
999
- acryl_datahub-0.15.0.5rc6.dist-info/LICENSE,sha256=9xNHpsD0uYF5ONzXsKDCuHHB-xbiCrSbueWXqrTNsxk,11365
1000
- acryl_datahub-0.15.0.5rc6.dist-info/METADATA,sha256=EYc5u1TJYgxZjmer0MNvW4TpmUkIwDFwJ1qTmQsrkxQ,173382
1001
- acryl_datahub-0.15.0.5rc6.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
1002
- acryl_datahub-0.15.0.5rc6.dist-info/entry_points.txt,sha256=U1e5ZwqPX1OaIbvGrwvozcdB8SbzFYXQM7plpdLKKeo,9592
1003
- acryl_datahub-0.15.0.5rc6.dist-info/top_level.txt,sha256=iLjSrLK5ox1YVYcglRUkcvfZPvKlobBWx7CTUXx8_GI,25
1004
- acryl_datahub-0.15.0.5rc6.dist-info/RECORD,,
1000
+ acryl_datahub-0.15.0.5rc7.dist-info/LICENSE,sha256=9xNHpsD0uYF5ONzXsKDCuHHB-xbiCrSbueWXqrTNsxk,11365
1001
+ acryl_datahub-0.15.0.5rc7.dist-info/METADATA,sha256=CTqpaDCQfvjCXNo_ReZIQHhdGq48p6usxoVlxcWzAXY,173703
1002
+ acryl_datahub-0.15.0.5rc7.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
1003
+ acryl_datahub-0.15.0.5rc7.dist-info/entry_points.txt,sha256=U1e5ZwqPX1OaIbvGrwvozcdB8SbzFYXQM7plpdLKKeo,9592
1004
+ acryl_datahub-0.15.0.5rc7.dist-info/top_level.txt,sha256=iLjSrLK5ox1YVYcglRUkcvfZPvKlobBWx7CTUXx8_GI,25
1005
+ acryl_datahub-0.15.0.5rc7.dist-info/RECORD,,
datahub/_version.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Published at https://pypi.org/project/acryl-datahub/.
2
2
  __package_name__ = "acryl-datahub"
3
- __version__ = "0.15.0.5rc6"
3
+ __version__ = "0.15.0.5rc7"
4
4
 
5
5
 
6
6
  def is_dev_mode() -> bool:
@@ -5,7 +5,7 @@ from typing import Callable, Dict, Iterable, List, Optional, Union, cast
5
5
  from datahub.api.entities.datajob import DataFlow, DataJob
6
6
  from datahub.emitter.generic_emitter import Emitter
7
7
  from datahub.emitter.mcp import MetadataChangeProposalWrapper
8
- from datahub.emitter.mcp_builder import DatahubKey
8
+ from datahub.emitter.mcp_builder import ContainerKey, DatahubKey
9
9
  from datahub.metadata.com.linkedin.pegasus2avro.dataprocess import (
10
10
  DataProcessInstanceInput,
11
11
  DataProcessInstanceOutput,
@@ -15,11 +15,15 @@ from datahub.metadata.com.linkedin.pegasus2avro.dataprocess import (
15
15
  )
16
16
  from datahub.metadata.schema_classes import (
17
17
  AuditStampClass,
18
+ ContainerClass,
19
+ DataPlatformInstanceClass,
18
20
  DataProcessInstanceRunEventClass,
19
21
  DataProcessInstanceRunResultClass,
20
22
  DataProcessRunStatusClass,
21
23
  DataProcessTypeClass,
24
+ SubTypesClass,
22
25
  )
26
+ from datahub.metadata.urns import DataPlatformInstanceUrn, DataPlatformUrn
23
27
  from datahub.utilities.str_enum import StrEnum
24
28
  from datahub.utilities.urns.data_flow_urn import DataFlowUrn
25
29
  from datahub.utilities.urns.data_job_urn import DataJobUrn
@@ -42,7 +46,7 @@ class InstanceRunResult(StrEnum):
42
46
 
43
47
  @dataclass
44
48
  class DataProcessInstance:
45
- """This is a DataProcessInstance class which represent an instance of a DataFlow or DataJob.
49
+ """This is a DataProcessInstance class which represents an instance of a DataFlow, DataJob, or a standalone process within a Container.
46
50
 
47
51
  Args:
48
52
  id: The id of the dataprocess instance execution.
@@ -71,6 +75,10 @@ class DataProcessInstance:
71
75
  _template_object: Optional[Union[DataJob, DataFlow]] = field(
72
76
  init=False, default=None, repr=False
73
77
  )
78
+ data_platform_instance: Optional[str] = None
79
+ subtype: Optional[str] = None
80
+ container_urn: Optional[str] = None
81
+ _platform: Optional[str] = field(init=False, repr=False, default=None)
74
82
 
75
83
  def __post_init__(self):
76
84
  self.urn = DataProcessInstanceUrn(
@@ -80,6 +88,28 @@ class DataProcessInstance:
80
88
  id=self.id,
81
89
  ).guid()
82
90
  )
91
+ self._platform = self.orchestrator
92
+
93
+ try:
94
+ # We first try to create from string assuming its an urn
95
+ self._platform = str(DataPlatformUrn.from_string(self._platform))
96
+ except Exception:
97
+ # If it fails, we assume its an id
98
+ self._platform = str(DataPlatformUrn(self._platform))
99
+
100
+ if self.data_platform_instance is not None:
101
+ try:
102
+ # We first try to create from string assuming its an urn
103
+ self.data_platform_instance = str(
104
+ DataPlatformInstanceUrn.from_string(self.data_platform_instance)
105
+ )
106
+ except Exception:
107
+ # If it fails, we assume its an id
108
+ self.data_platform_instance = str(
109
+ DataPlatformInstanceUrn(
110
+ platform=self._platform, instance=self.data_platform_instance
111
+ )
112
+ )
83
113
 
84
114
  def start_event_mcp(
85
115
  self, start_timestamp_millis: int, attempt: Optional[int] = None
@@ -269,6 +299,29 @@ class DataProcessInstance:
269
299
  )
270
300
  yield mcp
271
301
 
302
+ assert self._platform
303
+ if self.data_platform_instance:
304
+ mcp = MetadataChangeProposalWrapper(
305
+ entityUrn=str(self.urn),
306
+ aspect=DataPlatformInstanceClass(
307
+ platform=self._platform, instance=self.data_platform_instance
308
+ ),
309
+ )
310
+ yield mcp
311
+
312
+ if self.subtype:
313
+ mcp = MetadataChangeProposalWrapper(
314
+ entityUrn=str(self.urn), aspect=SubTypesClass(typeNames=[self.subtype])
315
+ )
316
+ yield mcp
317
+
318
+ if self.container_urn:
319
+ mcp = MetadataChangeProposalWrapper(
320
+ entityUrn=str(self.urn),
321
+ aspect=ContainerClass(container=self.container_urn),
322
+ )
323
+ yield mcp
324
+
272
325
  yield from self.generate_inlet_outlet_mcp(materialize_iolets=materialize_iolets)
273
326
 
274
327
  @staticmethod
@@ -309,13 +362,20 @@ class DataProcessInstance:
309
362
  clone_outlets: bool = False,
310
363
  ) -> "DataProcessInstance":
311
364
  """
312
- Generates DataProcessInstance from a DataJob
365
+ Generates a DataProcessInstance from a given DataJob.
313
366
 
314
- :param datajob: (DataJob) the datajob from generate the DataProcessInstance
315
- :param id: (str) the id for the DataProcessInstance
316
- :param clone_inlets: (bool) whether to clone datajob's inlets
317
- :param clone_outlets: (bool) whether to clone datajob's outlets
318
- :return: DataProcessInstance
367
+ This method creates a DataProcessInstance object using the provided DataJob
368
+ and assigns it a unique identifier. Optionally, it can clone the inlets and
369
+ outlets from the DataJob to the DataProcessInstance.
370
+
371
+ Args:
372
+ datajob (DataJob): The DataJob instance from which to generate the DataProcessInstance.
373
+ id (str): The unique identifier for the DataProcessInstance.
374
+ clone_inlets (bool, optional): If True, clones the inlets from the DataJob to the DataProcessInstance. Defaults to False.
375
+ clone_outlets (bool, optional): If True, clones the outlets from the DataJob to the DataProcessInstance. Defaults to False.
376
+
377
+ Returns:
378
+ DataProcessInstance: The generated DataProcessInstance object.
319
379
  """
320
380
  dpi: DataProcessInstance = DataProcessInstance(
321
381
  orchestrator=datajob.flow_urn.orchestrator,
@@ -332,14 +392,47 @@ class DataProcessInstance:
332
392
  return dpi
333
393
 
334
394
  @staticmethod
335
- def from_dataflow(dataflow: DataFlow, id: str) -> "DataProcessInstance":
395
+ def from_container(
396
+ container_key: ContainerKey,
397
+ id: str,
398
+ ) -> "DataProcessInstance":
336
399
  """
337
- Generates DataProcessInstance from a DataFlow
400
+ Create a DataProcessInstance that is located within a Container.
401
+ Use this method when you need to represent a DataProcessInstance that
402
+ is not an instance of a DataJob or a DataFlow.
403
+ e.g. If recording an ad-hoc training run that is just associated with an Experiment.
338
404
 
339
- :param dataflow: (DataFlow) the DataFlow from generate the DataProcessInstance
405
+ :param container_key: (ContainerKey) the container key to generate the DataProcessInstance
340
406
  :param id: (str) the id for the DataProcessInstance
341
407
  :return: DataProcessInstance
342
408
  """
409
+ dpi: DataProcessInstance = DataProcessInstance(
410
+ id=id,
411
+ orchestrator=DataPlatformUrn.from_string(
412
+ container_key.platform
413
+ ).platform_name,
414
+ template_urn=None,
415
+ container_urn=container_key.as_urn(),
416
+ )
417
+
418
+ return dpi
419
+
420
+ @staticmethod
421
+ def from_dataflow(dataflow: DataFlow, id: str) -> "DataProcessInstance":
422
+ """
423
+ Creates a DataProcessInstance from a given DataFlow.
424
+
425
+ This method generates a DataProcessInstance object using the provided DataFlow
426
+ and a specified id. The DataProcessInstance will inherit properties from the
427
+ DataFlow such as orchestrator, environment, and template URN.
428
+
429
+ Args:
430
+ dataflow (DataFlow): The DataFlow object from which to generate the DataProcessInstance.
431
+ id (str): The unique identifier for the DataProcessInstance.
432
+
433
+ Returns:
434
+ DataProcessInstance: The newly created DataProcessInstance object.
435
+ """
343
436
  dpi = DataProcessInstance(
344
437
  id=id,
345
438
  orchestrator=dataflow.orchestrator,
@@ -488,7 +488,7 @@ class DBTCoreSource(DBTSourceBase, TestableSource):
488
488
  ) -> Dict:
489
489
  if re.match("^https?://", uri):
490
490
  return json.loads(requests.get(uri).text)
491
- elif re.match("^s3://", uri):
491
+ elif is_s3_uri(uri):
492
492
  u = urlparse(uri)
493
493
  assert aws_connection
494
494
  response = aws_connection.get_s3_client().get_object(
@@ -2,8 +2,6 @@ import logging
2
2
  from abc import abstractmethod
3
3
  from typing import Any, Dict, Optional
4
4
 
5
- import cachetools
6
- import cachetools.keys
7
5
  import pydantic
8
6
  from pydantic import Field
9
7
  from sqlalchemy.engine import URL
@@ -29,7 +27,6 @@ from datahub.ingestion.source.state.stateful_ingestion_base import (
29
27
  StatefulIngestionConfigBase,
30
28
  )
31
29
  from datahub.ingestion.source_config.operation_config import is_profiling_enabled
32
- from datahub.utilities.cachetools_keys import self_methodkey
33
30
 
34
31
  logger: logging.Logger = logging.getLogger(__name__)
35
32
 
@@ -118,13 +115,6 @@ class SQLCommonConfig(
118
115
  # Custom Stateful Ingestion settings
119
116
  stateful_ingestion: Optional[StatefulStaleMetadataRemovalConfig] = None
120
117
 
121
- # TRICKY: The operation_config is time-dependent. Because we don't want to change
122
- # whether or not we're running profiling mid-ingestion, we cache the result of this method.
123
- # TODO: This decorator should be moved to the is_profiling_enabled(operation_config) method.
124
- @cachetools.cached(
125
- cache=cachetools.LRUCache(maxsize=1),
126
- key=self_methodkey,
127
- )
128
118
  def is_profiling_enabled(self) -> bool:
129
119
  return self.profiling.enabled and is_profiling_enabled(
130
120
  self.profiling.operation_config
@@ -2,10 +2,12 @@ import datetime
2
2
  import logging
3
3
  from typing import Any, Dict, Optional
4
4
 
5
+ import cachetools
5
6
  import pydantic
6
7
  from pydantic.fields import Field
7
8
 
8
9
  from datahub.configuration.common import ConfigModel
10
+ from datahub.utilities.cachetools_keys import self_methodkey
9
11
 
10
12
  logger = logging.getLogger(__name__)
11
13
 
@@ -62,6 +64,13 @@ class OperationConfig(ConfigModel):
62
64
  return profile_date_of_month
63
65
 
64
66
 
67
+ # TRICKY: The operation_config is time-dependent. Because we don't want to change
68
+ # whether or not we're running profiling mid-ingestion, we cache the result of this method.
69
+ # An additional benefit is that we only print the log lines on the first call.
70
+ @cachetools.cached(
71
+ cache=cachetools.LRUCache(maxsize=1),
72
+ key=self_methodkey,
73
+ )
65
74
  def is_profiling_enabled(operation_config: OperationConfig) -> bool:
66
75
  if operation_config.lower_freq_profile_enabled is False:
67
76
  return True