acryl-datahub 0.15.0rc25__py3-none-any.whl → 0.15.0.1__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.

Files changed (120) hide show
  1. {acryl_datahub-0.15.0rc25.dist-info → acryl_datahub-0.15.0.1.dist-info}/METADATA +2236 -2240
  2. {acryl_datahub-0.15.0rc25.dist-info → acryl_datahub-0.15.0.1.dist-info}/RECORD +116 -106
  3. {acryl_datahub-0.15.0rc25.dist-info → acryl_datahub-0.15.0.1.dist-info}/WHEEL +1 -1
  4. {acryl_datahub-0.15.0rc25.dist-info → acryl_datahub-0.15.0.1.dist-info}/entry_points.txt +1 -1
  5. datahub/__init__.py +1 -1
  6. datahub/api/circuit_breaker/assertion_circuit_breaker.py +5 -4
  7. datahub/api/entities/structuredproperties/structuredproperties.py +20 -8
  8. datahub/configuration/common.py +2 -5
  9. datahub/configuration/source_common.py +13 -0
  10. datahub/emitter/mce_builder.py +20 -4
  11. datahub/emitter/mcp_builder.py +2 -7
  12. datahub/emitter/mcp_patch_builder.py +37 -13
  13. datahub/emitter/rest_emitter.py +25 -3
  14. datahub/ingestion/api/auto_work_units/auto_ensure_aspect_size.py +98 -0
  15. datahub/ingestion/api/closeable.py +3 -3
  16. datahub/ingestion/api/ingestion_job_checkpointing_provider_base.py +4 -7
  17. datahub/ingestion/api/report.py +4 -1
  18. datahub/ingestion/api/sink.py +4 -3
  19. datahub/ingestion/api/source.py +4 -0
  20. datahub/ingestion/api/source_helpers.py +2 -6
  21. datahub/ingestion/glossary/classifier.py +2 -3
  22. datahub/ingestion/graph/client.py +6 -3
  23. datahub/ingestion/reporting/datahub_ingestion_run_summary_provider.py +44 -1
  24. datahub/ingestion/source/aws/aws_common.py +231 -27
  25. datahub/ingestion/source/aws/glue.py +12 -2
  26. datahub/ingestion/source/bigquery_v2/bigquery.py +10 -18
  27. datahub/ingestion/source/bigquery_v2/bigquery_config.py +3 -9
  28. datahub/ingestion/source/bigquery_v2/bigquery_schema.py +5 -20
  29. datahub/ingestion/source/bigquery_v2/bigquery_schema_gen.py +11 -17
  30. datahub/ingestion/source/bigquery_v2/lineage.py +9 -22
  31. datahub/ingestion/source/datahub/config.py +22 -1
  32. datahub/ingestion/source/datahub/datahub_database_reader.py +3 -17
  33. datahub/ingestion/source/datahub/datahub_kafka_reader.py +2 -1
  34. datahub/ingestion/source/datahub/datahub_source.py +1 -1
  35. datahub/ingestion/source/dbt/dbt_cloud.py +10 -3
  36. datahub/ingestion/source/gc/datahub_gc.py +21 -5
  37. datahub/ingestion/source/gc/dataprocess_cleanup.py +23 -10
  38. datahub/ingestion/source/gc/execution_request_cleanup.py +61 -16
  39. datahub/ingestion/source/gc/soft_deleted_entity_cleanup.py +178 -83
  40. datahub/ingestion/source/iceberg/iceberg.py +27 -1
  41. datahub/ingestion/source/iceberg/iceberg_common.py +4 -0
  42. datahub/ingestion/source/kafka_connect/__init__.py +0 -0
  43. datahub/ingestion/source/kafka_connect/common.py +202 -0
  44. datahub/ingestion/source/kafka_connect/kafka_connect.py +367 -0
  45. datahub/ingestion/source/kafka_connect/sink_connectors.py +341 -0
  46. datahub/ingestion/source/kafka_connect/source_connectors.py +570 -0
  47. datahub/ingestion/source/looker/looker_common.py +63 -2
  48. datahub/ingestion/source/looker/looker_dataclasses.py +7 -9
  49. datahub/ingestion/source/looker/looker_lib_wrapper.py +13 -1
  50. datahub/ingestion/source/looker/looker_source.py +31 -4
  51. datahub/ingestion/source/looker/looker_usage.py +23 -17
  52. datahub/ingestion/source/mlflow.py +30 -5
  53. datahub/ingestion/source/mode.py +40 -27
  54. datahub/ingestion/source/powerbi/config.py +1 -14
  55. datahub/ingestion/source/powerbi/dataplatform_instance_resolver.py +1 -1
  56. datahub/ingestion/source/powerbi/m_query/pattern_handler.py +1 -1
  57. datahub/ingestion/source/powerbi/powerbi-lexical-grammar.rule +16 -2
  58. datahub/ingestion/source/powerbi/rest_api_wrapper/data_resolver.py +16 -15
  59. datahub/ingestion/source/s3/source.py +1 -1
  60. datahub/ingestion/source/snowflake/snowflake_config.py +13 -34
  61. datahub/ingestion/source/snowflake/snowflake_lineage_v2.py +14 -64
  62. datahub/ingestion/source/snowflake/snowflake_queries.py +44 -14
  63. datahub/ingestion/source/snowflake/snowflake_query.py +5 -10
  64. datahub/ingestion/source/snowflake/snowflake_schema_gen.py +53 -7
  65. datahub/ingestion/source/snowflake/snowflake_shares.py +1 -1
  66. datahub/ingestion/source/snowflake/snowflake_usage_v2.py +2 -5
  67. datahub/ingestion/source/snowflake/snowflake_utils.py +22 -18
  68. datahub/ingestion/source/snowflake/snowflake_v2.py +38 -34
  69. datahub/ingestion/source/sql/hive.py +621 -8
  70. datahub/ingestion/source/sql/hive_metastore.py +7 -0
  71. datahub/ingestion/source/sql/mssql/job_models.py +30 -1
  72. datahub/ingestion/source/sql/mssql/source.py +15 -1
  73. datahub/ingestion/source/sql/sql_common.py +41 -102
  74. datahub/ingestion/source/sql/sql_generic_profiler.py +5 -6
  75. datahub/ingestion/source/sql/sql_report.py +2 -0
  76. datahub/ingestion/source/state/checkpoint.py +2 -1
  77. datahub/ingestion/source/tableau/tableau.py +122 -45
  78. datahub/ingestion/source/tableau/tableau_common.py +18 -0
  79. datahub/ingestion/source/tableau/tableau_constant.py +3 -1
  80. datahub/ingestion/source/tableau/tableau_server_wrapper.py +6 -2
  81. datahub/ingestion/source/tableau/tableau_validation.py +1 -1
  82. datahub/ingestion/source/unity/proxy.py +8 -27
  83. datahub/ingestion/source/usage/usage_common.py +15 -1
  84. datahub/ingestion/source_report/ingestion_stage.py +3 -0
  85. datahub/metadata/_schema_classes.py +256 -3
  86. datahub/metadata/_urns/urn_defs.py +168 -168
  87. datahub/metadata/com/linkedin/pegasus2avro/common/__init__.py +4 -0
  88. datahub/metadata/com/linkedin/pegasus2avro/ml/metadata/__init__.py +2 -0
  89. datahub/metadata/schema.avsc +252 -33
  90. datahub/metadata/schemas/DataJobKey.avsc +2 -1
  91. datahub/metadata/schemas/DataProcessInstanceKey.avsc +5 -1
  92. datahub/metadata/schemas/DataProcessInstanceOutput.avsc +2 -1
  93. datahub/metadata/schemas/DataTransformLogic.avsc +63 -0
  94. datahub/metadata/schemas/MLModelGroupProperties.avsc +82 -0
  95. datahub/metadata/schemas/MLModelProperties.avsc +62 -2
  96. datahub/metadata/schemas/MLTrainingRunProperties.avsc +171 -0
  97. datahub/metadata/schemas/MetadataChangeEvent.avsc +94 -2
  98. datahub/specific/aspect_helpers/__init__.py +0 -0
  99. datahub/specific/aspect_helpers/custom_properties.py +79 -0
  100. datahub/specific/aspect_helpers/ownership.py +67 -0
  101. datahub/specific/aspect_helpers/structured_properties.py +72 -0
  102. datahub/specific/aspect_helpers/tags.py +42 -0
  103. datahub/specific/aspect_helpers/terms.py +43 -0
  104. datahub/specific/chart.py +28 -184
  105. datahub/specific/dashboard.py +31 -196
  106. datahub/specific/datajob.py +34 -189
  107. datahub/specific/dataproduct.py +24 -86
  108. datahub/specific/dataset.py +48 -133
  109. datahub/specific/form.py +12 -32
  110. datahub/specific/structured_property.py +9 -9
  111. datahub/sql_parsing/sql_parsing_aggregator.py +10 -9
  112. datahub/sql_parsing/sqlglot_lineage.py +15 -5
  113. datahub/sql_parsing/tool_meta_extractor.py +119 -5
  114. datahub/utilities/time.py +8 -3
  115. datahub/utilities/urns/_urn_base.py +5 -7
  116. datahub/ingestion/source/kafka/kafka_connect.py +0 -1468
  117. datahub/specific/custom_properties.py +0 -37
  118. datahub/specific/ownership.py +0 -48
  119. datahub/specific/structured_properties.py +0 -53
  120. {acryl_datahub-0.15.0rc25.dist-info → acryl_datahub-0.15.0.1.dist-info}/top_level.txt +0 -0
@@ -4053,6 +4053,60 @@ class DataPlatformInstanceClass(_Aspect):
4053
4053
  self._inner_dict['instance'] = value
4054
4054
 
4055
4055
 
4056
+ class DataTransformClass(DictWrapper):
4057
+ """Information about a transformation. It may be a query,"""
4058
+
4059
+ RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.DataTransform")
4060
+ def __init__(self,
4061
+ queryStatement: Union[None, "QueryStatementClass"]=None,
4062
+ ):
4063
+ super().__init__()
4064
+
4065
+ self.queryStatement = queryStatement
4066
+
4067
+ def _restore_defaults(self) -> None:
4068
+ self.queryStatement = self.RECORD_SCHEMA.fields_dict["queryStatement"].default
4069
+
4070
+
4071
+ @property
4072
+ def queryStatement(self) -> Union[None, "QueryStatementClass"]:
4073
+ """The data transform may be defined by a query statement"""
4074
+ return self._inner_dict.get('queryStatement') # type: ignore
4075
+
4076
+ @queryStatement.setter
4077
+ def queryStatement(self, value: Union[None, "QueryStatementClass"]) -> None:
4078
+ self._inner_dict['queryStatement'] = value
4079
+
4080
+
4081
+ class DataTransformLogicClass(_Aspect):
4082
+ """Information about a Query against one or more data assets (e.g. Tables or Views)."""
4083
+
4084
+
4085
+ ASPECT_NAME = 'dataTransformLogic'
4086
+ ASPECT_INFO = {}
4087
+ RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.DataTransformLogic")
4088
+
4089
+ def __init__(self,
4090
+ transforms: List["DataTransformClass"],
4091
+ ):
4092
+ super().__init__()
4093
+
4094
+ self.transforms = transforms
4095
+
4096
+ def _restore_defaults(self) -> None:
4097
+ self.transforms = list()
4098
+
4099
+
4100
+ @property
4101
+ def transforms(self) -> List["DataTransformClass"]:
4102
+ """List of transformations applied"""
4103
+ return self._inner_dict.get('transforms') # type: ignore
4104
+
4105
+ @transforms.setter
4106
+ def transforms(self, value: List["DataTransformClass"]) -> None:
4107
+ self._inner_dict['transforms'] = value
4108
+
4109
+
4056
4110
  class DeprecationClass(_Aspect):
4057
4111
  """Deprecation status of an entity"""
4058
4112
 
@@ -14624,7 +14678,7 @@ class DataJobKeyClass(_Aspect):
14624
14678
 
14625
14679
 
14626
14680
  ASPECT_NAME = 'dataJobKey'
14627
- ASPECT_INFO = {'keyForEntity': 'dataJob', 'entityCategory': '_unset_', 'entityAspects': ['datahubIngestionRunSummary', 'datahubIngestionCheckpoint', 'domains', 'deprecation', 'versionInfo', 'dataJobInfo', 'dataJobInputOutput', 'editableDataJobProperties', 'ownership', 'status', 'globalTags', 'browsePaths', 'glossaryTerms', 'institutionalMemory', 'dataPlatformInstance', 'browsePathsV2', 'structuredProperties', 'forms', 'subTypes', 'incidentsSummary', 'testResults']}
14681
+ ASPECT_INFO = {'keyForEntity': 'dataJob', 'entityCategory': '_unset_', 'entityAspects': ['datahubIngestionRunSummary', 'datahubIngestionCheckpoint', 'domains', 'deprecation', 'versionInfo', 'dataJobInfo', 'dataJobInputOutput', 'editableDataJobProperties', 'ownership', 'status', 'globalTags', 'browsePaths', 'glossaryTerms', 'institutionalMemory', 'dataPlatformInstance', 'browsePathsV2', 'structuredProperties', 'forms', 'subTypes', 'incidentsSummary', 'testResults', 'dataTransformLogic']}
14628
14682
  RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataJobKey")
14629
14683
 
14630
14684
  def __init__(self,
@@ -14737,7 +14791,7 @@ class DataProcessInstanceKeyClass(_Aspect):
14737
14791
 
14738
14792
 
14739
14793
  ASPECT_NAME = 'dataProcessInstanceKey'
14740
- ASPECT_INFO = {'keyForEntity': 'dataProcessInstance', 'entityCategory': '_unset_', 'entityAspects': ['dataProcessInstanceInput', 'dataProcessInstanceOutput', 'dataProcessInstanceProperties', 'dataProcessInstanceRelationships', 'dataProcessInstanceRunEvent', 'status', 'testResults'], 'entityDoc': 'DataProcessInstance represents an instance of a datajob/jobflow run'}
14794
+ ASPECT_INFO = {'keyForEntity': 'dataProcessInstance', 'entityCategory': '_unset_', 'entityAspects': ['dataProcessInstanceInput', 'dataProcessInstanceOutput', 'dataProcessInstanceProperties', 'dataProcessInstanceRelationships', 'dataProcessInstanceRunEvent', 'status', 'testResults', 'dataPlatformInstance', 'subTypes', 'container', 'mlTrainingRunProperties'], 'entityDoc': 'DataProcessInstance represents an instance of a datajob/jobflow run'}
14741
14795
  RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataProcessInstanceKey")
14742
14796
 
14743
14797
  def __init__(self,
@@ -17715,8 +17769,12 @@ class MLModelGroupPropertiesClass(_Aspect):
17715
17769
 
17716
17770
  def __init__(self,
17717
17771
  customProperties: Optional[Dict[str, str]]=None,
17772
+ name: Union[None, str]=None,
17718
17773
  description: Union[None, str]=None,
17719
17774
  createdAt: Union[None, int]=None,
17775
+ created: Union[None, "TimeStampClass"]=None,
17776
+ lastModified: Union[None, "TimeStampClass"]=None,
17777
+ trainingJobs: Union[None, List[str]]=None,
17720
17778
  version: Union[None, "VersionTagClass"]=None,
17721
17779
  ):
17722
17780
  super().__init__()
@@ -17726,14 +17784,22 @@ class MLModelGroupPropertiesClass(_Aspect):
17726
17784
  self.customProperties = dict()
17727
17785
  else:
17728
17786
  self.customProperties = customProperties
17787
+ self.name = name
17729
17788
  self.description = description
17730
17789
  self.createdAt = createdAt
17790
+ self.created = created
17791
+ self.lastModified = lastModified
17792
+ self.trainingJobs = trainingJobs
17731
17793
  self.version = version
17732
17794
 
17733
17795
  def _restore_defaults(self) -> None:
17734
17796
  self.customProperties = dict()
17797
+ self.name = self.RECORD_SCHEMA.fields_dict["name"].default
17735
17798
  self.description = self.RECORD_SCHEMA.fields_dict["description"].default
17736
17799
  self.createdAt = self.RECORD_SCHEMA.fields_dict["createdAt"].default
17800
+ self.created = self.RECORD_SCHEMA.fields_dict["created"].default
17801
+ self.lastModified = self.RECORD_SCHEMA.fields_dict["lastModified"].default
17802
+ self.trainingJobs = self.RECORD_SCHEMA.fields_dict["trainingJobs"].default
17737
17803
  self.version = self.RECORD_SCHEMA.fields_dict["version"].default
17738
17804
 
17739
17805
 
@@ -17747,6 +17813,16 @@ class MLModelGroupPropertiesClass(_Aspect):
17747
17813
  self._inner_dict['customProperties'] = value
17748
17814
 
17749
17815
 
17816
+ @property
17817
+ def name(self) -> Union[None, str]:
17818
+ """Display name of the MLModelGroup"""
17819
+ return self._inner_dict.get('name') # type: ignore
17820
+
17821
+ @name.setter
17822
+ def name(self, value: Union[None, str]) -> None:
17823
+ self._inner_dict['name'] = value
17824
+
17825
+
17750
17826
  @property
17751
17827
  def description(self) -> Union[None, str]:
17752
17828
  """Documentation of the MLModelGroup"""
@@ -17767,6 +17843,36 @@ class MLModelGroupPropertiesClass(_Aspect):
17767
17843
  self._inner_dict['createdAt'] = value
17768
17844
 
17769
17845
 
17846
+ @property
17847
+ def created(self) -> Union[None, "TimeStampClass"]:
17848
+ """Time and Actor who created the MLModelGroup"""
17849
+ return self._inner_dict.get('created') # type: ignore
17850
+
17851
+ @created.setter
17852
+ def created(self, value: Union[None, "TimeStampClass"]) -> None:
17853
+ self._inner_dict['created'] = value
17854
+
17855
+
17856
+ @property
17857
+ def lastModified(self) -> Union[None, "TimeStampClass"]:
17858
+ """Date when the MLModelGroup was last modified"""
17859
+ return self._inner_dict.get('lastModified') # type: ignore
17860
+
17861
+ @lastModified.setter
17862
+ def lastModified(self, value: Union[None, "TimeStampClass"]) -> None:
17863
+ self._inner_dict['lastModified'] = value
17864
+
17865
+
17866
+ @property
17867
+ def trainingJobs(self) -> Union[None, List[str]]:
17868
+ """List of jobs (if any) used to train the model group. Visible in Lineage."""
17869
+ return self._inner_dict.get('trainingJobs') # type: ignore
17870
+
17871
+ @trainingJobs.setter
17872
+ def trainingJobs(self, value: Union[None, List[str]]) -> None:
17873
+ self._inner_dict['trainingJobs'] = value
17874
+
17875
+
17770
17876
  @property
17771
17877
  def version(self) -> Union[None, "VersionTagClass"]:
17772
17878
  """Version of the MLModelGroup"""
@@ -17788,8 +17894,11 @@ class MLModelPropertiesClass(_Aspect):
17788
17894
  def __init__(self,
17789
17895
  customProperties: Optional[Dict[str, str]]=None,
17790
17896
  externalUrl: Union[None, str]=None,
17897
+ name: Union[None, str]=None,
17791
17898
  description: Union[None, str]=None,
17792
17899
  date: Union[None, int]=None,
17900
+ created: Union[None, "TimeStampClass"]=None,
17901
+ lastModified: Union[None, "TimeStampClass"]=None,
17793
17902
  version: Union[None, "VersionTagClass"]=None,
17794
17903
  type: Union[None, str]=None,
17795
17904
  hyperParameters: Union[None, Dict[str, Union[str, int, float, float, bool]]]=None,
@@ -17811,8 +17920,11 @@ class MLModelPropertiesClass(_Aspect):
17811
17920
  else:
17812
17921
  self.customProperties = customProperties
17813
17922
  self.externalUrl = externalUrl
17923
+ self.name = name
17814
17924
  self.description = description
17815
17925
  self.date = date
17926
+ self.created = created
17927
+ self.lastModified = lastModified
17816
17928
  self.version = version
17817
17929
  self.type = type
17818
17930
  self.hyperParameters = hyperParameters
@@ -17833,8 +17945,11 @@ class MLModelPropertiesClass(_Aspect):
17833
17945
  def _restore_defaults(self) -> None:
17834
17946
  self.customProperties = dict()
17835
17947
  self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default
17948
+ self.name = self.RECORD_SCHEMA.fields_dict["name"].default
17836
17949
  self.description = self.RECORD_SCHEMA.fields_dict["description"].default
17837
17950
  self.date = self.RECORD_SCHEMA.fields_dict["date"].default
17951
+ self.created = self.RECORD_SCHEMA.fields_dict["created"].default
17952
+ self.lastModified = self.RECORD_SCHEMA.fields_dict["lastModified"].default
17838
17953
  self.version = self.RECORD_SCHEMA.fields_dict["version"].default
17839
17954
  self.type = self.RECORD_SCHEMA.fields_dict["type"].default
17840
17955
  self.hyperParameters = self.RECORD_SCHEMA.fields_dict["hyperParameters"].default
@@ -17869,6 +17984,16 @@ class MLModelPropertiesClass(_Aspect):
17869
17984
  self._inner_dict['externalUrl'] = value
17870
17985
 
17871
17986
 
17987
+ @property
17988
+ def name(self) -> Union[None, str]:
17989
+ """Display name of the MLModel"""
17990
+ return self._inner_dict.get('name') # type: ignore
17991
+
17992
+ @name.setter
17993
+ def name(self, value: Union[None, str]) -> None:
17994
+ self._inner_dict['name'] = value
17995
+
17996
+
17872
17997
  @property
17873
17998
  def description(self) -> Union[None, str]:
17874
17999
  """Documentation of the MLModel"""
@@ -17889,6 +18014,26 @@ class MLModelPropertiesClass(_Aspect):
17889
18014
  self._inner_dict['date'] = value
17890
18015
 
17891
18016
 
18017
+ @property
18018
+ def created(self) -> Union[None, "TimeStampClass"]:
18019
+ """Audit stamp containing who created this and when"""
18020
+ return self._inner_dict.get('created') # type: ignore
18021
+
18022
+ @created.setter
18023
+ def created(self, value: Union[None, "TimeStampClass"]) -> None:
18024
+ self._inner_dict['created'] = value
18025
+
18026
+
18027
+ @property
18028
+ def lastModified(self) -> Union[None, "TimeStampClass"]:
18029
+ """Date when the MLModel was last modified"""
18030
+ return self._inner_dict.get('lastModified') # type: ignore
18031
+
18032
+ @lastModified.setter
18033
+ def lastModified(self, value: Union[None, "TimeStampClass"]) -> None:
18034
+ self._inner_dict['lastModified'] = value
18035
+
18036
+
17892
18037
  @property
17893
18038
  def version(self) -> Union[None, "VersionTagClass"]:
17894
18039
  """Version of the MLModel"""
@@ -17983,7 +18128,7 @@ class MLModelPropertiesClass(_Aspect):
17983
18128
 
17984
18129
  @property
17985
18130
  def trainingJobs(self) -> Union[None, List[str]]:
17986
- """List of jobs (if any) used to train the model"""
18131
+ """List of jobs (if any) used to train the model. Visible in Lineage. Note that ML Models can also be specified as the output of a specific Data Process Instances (runs) via the DataProcessInstanceOutputs aspect."""
17987
18132
  return self._inner_dict.get('trainingJobs') # type: ignore
17988
18133
 
17989
18134
  @trainingJobs.setter
@@ -18096,6 +18241,104 @@ class MLPrimaryKeyPropertiesClass(_Aspect):
18096
18241
  self._inner_dict['sources'] = value
18097
18242
 
18098
18243
 
18244
+ class MLTrainingRunPropertiesClass(_Aspect):
18245
+ """The inputs and outputs of this training run"""
18246
+
18247
+
18248
+ ASPECT_NAME = 'mlTrainingRunProperties'
18249
+ ASPECT_INFO = {}
18250
+ RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLTrainingRunProperties")
18251
+
18252
+ def __init__(self,
18253
+ customProperties: Optional[Dict[str, str]]=None,
18254
+ externalUrl: Union[None, str]=None,
18255
+ id: Union[None, str]=None,
18256
+ outputUrls: Union[None, List[str]]=None,
18257
+ hyperParams: Union[None, List["MLHyperParamClass"]]=None,
18258
+ trainingMetrics: Union[None, List["MLMetricClass"]]=None,
18259
+ ):
18260
+ super().__init__()
18261
+
18262
+ if customProperties is None:
18263
+ # default: {}
18264
+ self.customProperties = dict()
18265
+ else:
18266
+ self.customProperties = customProperties
18267
+ self.externalUrl = externalUrl
18268
+ self.id = id
18269
+ self.outputUrls = outputUrls
18270
+ self.hyperParams = hyperParams
18271
+ self.trainingMetrics = trainingMetrics
18272
+
18273
+ def _restore_defaults(self) -> None:
18274
+ self.customProperties = dict()
18275
+ self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default
18276
+ self.id = self.RECORD_SCHEMA.fields_dict["id"].default
18277
+ self.outputUrls = self.RECORD_SCHEMA.fields_dict["outputUrls"].default
18278
+ self.hyperParams = self.RECORD_SCHEMA.fields_dict["hyperParams"].default
18279
+ self.trainingMetrics = self.RECORD_SCHEMA.fields_dict["trainingMetrics"].default
18280
+
18281
+
18282
+ @property
18283
+ def customProperties(self) -> Dict[str, str]:
18284
+ """Custom property bag."""
18285
+ return self._inner_dict.get('customProperties') # type: ignore
18286
+
18287
+ @customProperties.setter
18288
+ def customProperties(self, value: Dict[str, str]) -> None:
18289
+ self._inner_dict['customProperties'] = value
18290
+
18291
+
18292
+ @property
18293
+ def externalUrl(self) -> Union[None, str]:
18294
+ """URL where the reference exist"""
18295
+ return self._inner_dict.get('externalUrl') # type: ignore
18296
+
18297
+ @externalUrl.setter
18298
+ def externalUrl(self, value: Union[None, str]) -> None:
18299
+ self._inner_dict['externalUrl'] = value
18300
+
18301
+
18302
+ @property
18303
+ def id(self) -> Union[None, str]:
18304
+ """Run Id of the ML Training Run"""
18305
+ return self._inner_dict.get('id') # type: ignore
18306
+
18307
+ @id.setter
18308
+ def id(self, value: Union[None, str]) -> None:
18309
+ self._inner_dict['id'] = value
18310
+
18311
+
18312
+ @property
18313
+ def outputUrls(self) -> Union[None, List[str]]:
18314
+ """List of URLs for the Outputs of the ML Training Run"""
18315
+ return self._inner_dict.get('outputUrls') # type: ignore
18316
+
18317
+ @outputUrls.setter
18318
+ def outputUrls(self, value: Union[None, List[str]]) -> None:
18319
+ self._inner_dict['outputUrls'] = value
18320
+
18321
+
18322
+ @property
18323
+ def hyperParams(self) -> Union[None, List["MLHyperParamClass"]]:
18324
+ """Hyperparameters of the ML Training Run"""
18325
+ return self._inner_dict.get('hyperParams') # type: ignore
18326
+
18327
+ @hyperParams.setter
18328
+ def hyperParams(self, value: Union[None, List["MLHyperParamClass"]]) -> None:
18329
+ self._inner_dict['hyperParams'] = value
18330
+
18331
+
18332
+ @property
18333
+ def trainingMetrics(self) -> Union[None, List["MLMetricClass"]]:
18334
+ """Metrics of the ML Training Run"""
18335
+ return self._inner_dict.get('trainingMetrics') # type: ignore
18336
+
18337
+ @trainingMetrics.setter
18338
+ def trainingMetrics(self, value: Union[None, List["MLMetricClass"]]) -> None:
18339
+ self._inner_dict['trainingMetrics'] = value
18340
+
18341
+
18099
18342
  class MetricsClass(_Aspect):
18100
18343
  """Metrics to be featured for the MLModel."""
18101
18344
 
@@ -24526,6 +24769,8 @@ __SCHEMA_TYPES = {
24526
24769
  'com.linkedin.pegasus2avro.common.CostCostDiscriminator': CostCostDiscriminatorClass,
24527
24770
  'com.linkedin.pegasus2avro.common.CostType': CostTypeClass,
24528
24771
  'com.linkedin.pegasus2avro.common.DataPlatformInstance': DataPlatformInstanceClass,
24772
+ 'com.linkedin.pegasus2avro.common.DataTransform': DataTransformClass,
24773
+ 'com.linkedin.pegasus2avro.common.DataTransformLogic': DataTransformLogicClass,
24529
24774
  'com.linkedin.pegasus2avro.common.Deprecation': DeprecationClass,
24530
24775
  'com.linkedin.pegasus2avro.common.Documentation': DocumentationClass,
24531
24776
  'com.linkedin.pegasus2avro.common.DocumentationAssociation': DocumentationAssociationClass,
@@ -24791,6 +25036,7 @@ __SCHEMA_TYPES = {
24791
25036
  'com.linkedin.pegasus2avro.ml.metadata.MLModelGroupProperties': MLModelGroupPropertiesClass,
24792
25037
  'com.linkedin.pegasus2avro.ml.metadata.MLModelProperties': MLModelPropertiesClass,
24793
25038
  'com.linkedin.pegasus2avro.ml.metadata.MLPrimaryKeyProperties': MLPrimaryKeyPropertiesClass,
25039
+ 'com.linkedin.pegasus2avro.ml.metadata.MLTrainingRunProperties': MLTrainingRunPropertiesClass,
24794
25040
  'com.linkedin.pegasus2avro.ml.metadata.Metrics': MetricsClass,
24795
25041
  'com.linkedin.pegasus2avro.ml.metadata.QuantitativeAnalyses': QuantitativeAnalysesClass,
24796
25042
  'com.linkedin.pegasus2avro.ml.metadata.SourceCode': SourceCodeClass,
@@ -24992,6 +25238,8 @@ __SCHEMA_TYPES = {
24992
25238
  'CostCostDiscriminator': CostCostDiscriminatorClass,
24993
25239
  'CostType': CostTypeClass,
24994
25240
  'DataPlatformInstance': DataPlatformInstanceClass,
25241
+ 'DataTransform': DataTransformClass,
25242
+ 'DataTransformLogic': DataTransformLogicClass,
24995
25243
  'Deprecation': DeprecationClass,
24996
25244
  'Documentation': DocumentationClass,
24997
25245
  'DocumentationAssociation': DocumentationAssociationClass,
@@ -25257,6 +25505,7 @@ __SCHEMA_TYPES = {
25257
25505
  'MLModelGroupProperties': MLModelGroupPropertiesClass,
25258
25506
  'MLModelProperties': MLModelPropertiesClass,
25259
25507
  'MLPrimaryKeyProperties': MLPrimaryKeyPropertiesClass,
25508
+ 'MLTrainingRunProperties': MLTrainingRunPropertiesClass,
25260
25509
  'Metrics': MetricsClass,
25261
25510
  'QuantitativeAnalyses': QuantitativeAnalysesClass,
25262
25511
  'SourceCode': SourceCodeClass,
@@ -25397,6 +25646,7 @@ ASPECT_CLASSES: List[Type[_Aspect]] = [
25397
25646
  CostClass,
25398
25647
  BrowsePathsClass,
25399
25648
  InstitutionalMemoryClass,
25649
+ DataTransformLogicClass,
25400
25650
  SubTypesClass,
25401
25651
  FormsClass,
25402
25652
  DeprecationClass,
@@ -25473,6 +25723,7 @@ ASPECT_CLASSES: List[Type[_Aspect]] = [
25473
25723
  MetricsClass,
25474
25724
  EditableMLPrimaryKeyPropertiesClass,
25475
25725
  SourceCodeClass,
25726
+ MLTrainingRunPropertiesClass,
25476
25727
  EthicalConsiderationsClass,
25477
25728
  MLPrimaryKeyPropertiesClass,
25478
25729
  MLModelFactorPromptsClass,
@@ -25610,6 +25861,7 @@ class AspectBag(TypedDict, total=False):
25610
25861
  cost: CostClass
25611
25862
  browsePaths: BrowsePathsClass
25612
25863
  institutionalMemory: InstitutionalMemoryClass
25864
+ dataTransformLogic: DataTransformLogicClass
25613
25865
  subTypes: SubTypesClass
25614
25866
  forms: FormsClass
25615
25867
  deprecation: DeprecationClass
@@ -25686,6 +25938,7 @@ class AspectBag(TypedDict, total=False):
25686
25938
  mlModelMetrics: MetricsClass
25687
25939
  editableMlPrimaryKeyProperties: EditableMLPrimaryKeyPropertiesClass
25688
25940
  sourceCode: SourceCodeClass
25941
+ mlTrainingRunProperties: MLTrainingRunPropertiesClass
25689
25942
  mlModelEthicalConsiderations: EthicalConsiderationsClass
25690
25943
  mlPrimaryKeyProperties: MLPrimaryKeyPropertiesClass
25691
25944
  mlModelFactorPrompts: MLModelFactorPromptsClass