acryl-datahub 1.0.0rc8__py3-none-any.whl → 1.0.0rc10__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 (53) hide show
  1. {acryl_datahub-1.0.0rc8.dist-info → acryl_datahub-1.0.0rc10.dist-info}/METADATA +2623 -2624
  2. {acryl_datahub-1.0.0rc8.dist-info → acryl_datahub-1.0.0rc10.dist-info}/RECORD +53 -49
  3. datahub/_version.py +1 -1
  4. datahub/api/entities/dataset/dataset.py +731 -42
  5. datahub/api/entities/structuredproperties/structuredproperties.py +2 -2
  6. datahub/cli/specific/dataset_cli.py +128 -14
  7. datahub/emitter/mce_builder.py +28 -13
  8. datahub/ingestion/graph/client.py +15 -11
  9. datahub/ingestion/graph/filters.py +64 -37
  10. datahub/ingestion/source/cassandra/cassandra.py +1 -1
  11. datahub/ingestion/source/common/subtypes.py +7 -0
  12. datahub/ingestion/source/identity/okta.py +22 -0
  13. datahub/ingestion/source/metabase.py +3 -3
  14. datahub/ingestion/source/mode.py +1 -1
  15. datahub/ingestion/source/preset.py +7 -4
  16. datahub/ingestion/source/sql/mssql/job_models.py +29 -0
  17. datahub/ingestion/source/sql/mssql/source.py +10 -4
  18. datahub/ingestion/source/superset.py +158 -24
  19. datahub/metadata/_schema_classes.py +157 -14
  20. datahub/metadata/_urns/urn_defs.py +82 -58
  21. datahub/metadata/schema.avsc +23 -10
  22. datahub/metadata/schemas/CorpGroupKey.avsc +2 -1
  23. datahub/metadata/schemas/CorpUserKey.avsc +2 -1
  24. datahub/metadata/schemas/DataProcessKey.avsc +2 -1
  25. datahub/metadata/schemas/DataProductKey.avsc +2 -1
  26. datahub/metadata/schemas/GlossaryNodeKey.avsc +2 -1
  27. datahub/metadata/schemas/GlossaryTermKey.avsc +2 -1
  28. datahub/metadata/schemas/MLFeatureKey.avsc +2 -1
  29. datahub/metadata/schemas/MLFeatureTableKey.avsc +2 -1
  30. datahub/metadata/schemas/MLModelGroupKey.avsc +2 -1
  31. datahub/metadata/schemas/MLModelKey.avsc +2 -1
  32. datahub/metadata/schemas/MLPrimaryKeyKey.avsc +2 -1
  33. datahub/metadata/schemas/PostKey.avsc +2 -1
  34. datahub/metadata/schemas/SchemaFieldKey.avsc +2 -1
  35. datahub/metadata/schemas/VersionProperties.avsc +18 -0
  36. datahub/metadata/schemas/VersionSetProperties.avsc +5 -0
  37. datahub/pydantic/__init__.py +0 -0
  38. datahub/pydantic/compat.py +58 -0
  39. datahub/sdk/__init__.py +1 -0
  40. datahub/sdk/_all_entities.py +1 -1
  41. datahub/sdk/_shared.py +88 -3
  42. datahub/sdk/container.py +7 -1
  43. datahub/sdk/dataset.py +7 -1
  44. datahub/sdk/{_entity.py → entity.py} +4 -0
  45. datahub/sdk/entity_client.py +1 -1
  46. datahub/sdk/main_client.py +7 -1
  47. datahub/sdk/resolver_client.py +17 -29
  48. datahub/sdk/search_client.py +50 -0
  49. datahub/sdk/search_filters.py +374 -0
  50. {acryl_datahub-1.0.0rc8.dist-info → acryl_datahub-1.0.0rc10.dist-info}/LICENSE +0 -0
  51. {acryl_datahub-1.0.0rc8.dist-info → acryl_datahub-1.0.0rc10.dist-info}/WHEEL +0 -0
  52. {acryl_datahub-1.0.0rc8.dist-info → acryl_datahub-1.0.0rc10.dist-info}/entry_points.txt +0 -0
  53. {acryl_datahub-1.0.0rc8.dist-info → acryl_datahub-1.0.0rc10.dist-info}/top_level.txt +0 -0
@@ -10,7 +10,7 @@
10
10
 
11
11
  # This file contains classes corresponding to entity URNs.
12
12
 
13
- from typing import ClassVar, List, Optional, Type, TYPE_CHECKING, Union
13
+ from typing import ClassVar, List, Optional, Type, TYPE_CHECKING, Union, Literal
14
14
 
15
15
  import functools
16
16
  from deprecated.sphinx import deprecated as _sphinx_deprecated
@@ -25,7 +25,7 @@ if TYPE_CHECKING:
25
25
  from datahub.metadata.schema_classes import BusinessAttributeKeyClass
26
26
 
27
27
  class BusinessAttributeUrn(_SpecificUrn):
28
- ENTITY_TYPE: ClassVar[str] = "businessAttribute"
28
+ ENTITY_TYPE: ClassVar[Literal["businessAttribute"]] = "businessAttribute"
29
29
  _URN_PARTS: ClassVar[int] = 1
30
30
 
31
31
  def __init__(self, id: Union["BusinessAttributeUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -81,7 +81,7 @@ if TYPE_CHECKING:
81
81
  from datahub.metadata.schema_classes import DataTypeKeyClass
82
82
 
83
83
  class DataTypeUrn(_SpecificUrn):
84
- ENTITY_TYPE: ClassVar[str] = "dataType"
84
+ ENTITY_TYPE: ClassVar[Literal["dataType"]] = "dataType"
85
85
  _URN_PARTS: ClassVar[int] = 1
86
86
 
87
87
  def __init__(self, id: Union["DataTypeUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -137,7 +137,7 @@ if TYPE_CHECKING:
137
137
  from datahub.metadata.schema_classes import DataProductKeyClass
138
138
 
139
139
  class DataProductUrn(_SpecificUrn):
140
- ENTITY_TYPE: ClassVar[str] = "dataProduct"
140
+ ENTITY_TYPE: ClassVar[Literal["dataProduct"]] = "dataProduct"
141
141
  _URN_PARTS: ClassVar[int] = 1
142
142
 
143
143
  def __init__(self, id: Union["DataProductUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -193,7 +193,7 @@ if TYPE_CHECKING:
193
193
  from datahub.metadata.schema_classes import TelemetryKeyClass
194
194
 
195
195
  class TelemetryUrn(_SpecificUrn):
196
- ENTITY_TYPE: ClassVar[str] = "telemetry"
196
+ ENTITY_TYPE: ClassVar[Literal["telemetry"]] = "telemetry"
197
197
  _URN_PARTS: ClassVar[int] = 1
198
198
 
199
199
  def __init__(self, name: Union["TelemetryUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -249,7 +249,7 @@ if TYPE_CHECKING:
249
249
  from datahub.metadata.schema_classes import DataHubAccessTokenKeyClass
250
250
 
251
251
  class DataHubAccessTokenUrn(_SpecificUrn):
252
- ENTITY_TYPE: ClassVar[str] = "dataHubAccessToken"
252
+ ENTITY_TYPE: ClassVar[Literal["dataHubAccessToken"]] = "dataHubAccessToken"
253
253
  _URN_PARTS: ClassVar[int] = 1
254
254
 
255
255
  def __init__(self, id: Union["DataHubAccessTokenUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -305,7 +305,7 @@ if TYPE_CHECKING:
305
305
  from datahub.metadata.schema_classes import DataHubConnectionKeyClass
306
306
 
307
307
  class DataHubConnectionUrn(_SpecificUrn):
308
- ENTITY_TYPE: ClassVar[str] = "dataHubConnection"
308
+ ENTITY_TYPE: ClassVar[Literal["dataHubConnection"]] = "dataHubConnection"
309
309
  _URN_PARTS: ClassVar[int] = 1
310
310
 
311
311
  def __init__(self, id: Union["DataHubConnectionUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -361,7 +361,7 @@ if TYPE_CHECKING:
361
361
  from datahub.metadata.schema_classes import DataHubRoleKeyClass
362
362
 
363
363
  class DataHubRoleUrn(_SpecificUrn):
364
- ENTITY_TYPE: ClassVar[str] = "dataHubRole"
364
+ ENTITY_TYPE: ClassVar[Literal["dataHubRole"]] = "dataHubRole"
365
365
  _URN_PARTS: ClassVar[int] = 1
366
366
 
367
367
  def __init__(self, id: Union["DataHubRoleUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -417,7 +417,7 @@ if TYPE_CHECKING:
417
417
  from datahub.metadata.schema_classes import MLModelKeyClass
418
418
 
419
419
  class MlModelUrn(_SpecificUrn):
420
- ENTITY_TYPE: ClassVar[str] = "mlModel"
420
+ ENTITY_TYPE: ClassVar[Literal["mlModel"]] = "mlModel"
421
421
  _URN_PARTS: ClassVar[int] = 3
422
422
 
423
423
  def __init__(self, platform: Union["DataPlatformUrn", str], name: str, env: str = "PROD", *, _allow_coercion: bool = True) -> None:
@@ -480,7 +480,7 @@ if TYPE_CHECKING:
480
480
  from datahub.metadata.schema_classes import NotebookKeyClass
481
481
 
482
482
  class NotebookUrn(_SpecificUrn):
483
- ENTITY_TYPE: ClassVar[str] = "notebook"
483
+ ENTITY_TYPE: ClassVar[Literal["notebook"]] = "notebook"
484
484
  _URN_PARTS: ClassVar[int] = 2
485
485
 
486
486
  def __init__(self, notebook_tool: str, notebook_id: str, *, _allow_coercion: bool = True) -> None:
@@ -542,7 +542,7 @@ if TYPE_CHECKING:
542
542
  from datahub.metadata.schema_classes import RoleKeyClass
543
543
 
544
544
  class RoleUrn(_SpecificUrn):
545
- ENTITY_TYPE: ClassVar[str] = "role"
545
+ ENTITY_TYPE: ClassVar[Literal["role"]] = "role"
546
546
  _URN_PARTS: ClassVar[int] = 1
547
547
 
548
548
  def __init__(self, id: Union["RoleUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -598,7 +598,7 @@ if TYPE_CHECKING:
598
598
  from datahub.metadata.schema_classes import GlobalSettingsKeyClass
599
599
 
600
600
  class GlobalSettingsUrn(_SpecificUrn):
601
- ENTITY_TYPE: ClassVar[str] = "globalSettings"
601
+ ENTITY_TYPE: ClassVar[Literal["globalSettings"]] = "globalSettings"
602
602
  _URN_PARTS: ClassVar[int] = 1
603
603
 
604
604
  def __init__(self, id: Union["GlobalSettingsUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -654,7 +654,7 @@ if TYPE_CHECKING:
654
654
  from datahub.metadata.schema_classes import DatasetKeyClass
655
655
 
656
656
  class DatasetUrn(_SpecificUrn):
657
- ENTITY_TYPE: ClassVar[str] = "dataset"
657
+ ENTITY_TYPE: ClassVar[Literal["dataset"]] = "dataset"
658
658
  _URN_PARTS: ClassVar[int] = 3
659
659
 
660
660
  def __init__(self, platform: Union["DataPlatformUrn", str], name: str, env: str = "PROD", *, _allow_coercion: bool = True) -> None:
@@ -746,7 +746,7 @@ if TYPE_CHECKING:
746
746
  from datahub.metadata.schema_classes import ChartKeyClass
747
747
 
748
748
  class ChartUrn(_SpecificUrn):
749
- ENTITY_TYPE: ClassVar[str] = "chart"
749
+ ENTITY_TYPE: ClassVar[Literal["chart"]] = "chart"
750
750
  _URN_PARTS: ClassVar[int] = 2
751
751
 
752
752
  def __init__(self, dashboard_tool: str, chart_id: str, *, _allow_coercion: bool = True) -> None:
@@ -788,6 +788,18 @@ class ChartUrn(_SpecificUrn):
788
788
  def from_key_aspect(cls, key_aspect: "ChartKeyClass") -> "ChartUrn":
789
789
  return cls(dashboard_tool=key_aspect.dashboardTool, chart_id=key_aspect.chartId)
790
790
 
791
+ @classmethod
792
+ def create_from_ids(
793
+ cls,
794
+ platform: str,
795
+ name: str,
796
+ platform_instance: Optional[str] = None,
797
+ ) -> "ChartUrn":
798
+ return ChartUrn(
799
+ dashboard_tool=platform,
800
+ chart_id=f"{platform_instance}.{name}" if platform_instance else name,
801
+ )
802
+
791
803
  @property
792
804
  def dashboard_tool(self) -> str:
793
805
  return self._entity_ids[0]
@@ -800,7 +812,7 @@ if TYPE_CHECKING:
800
812
  from datahub.metadata.schema_classes import GlossaryNodeKeyClass
801
813
 
802
814
  class GlossaryNodeUrn(_SpecificUrn):
803
- ENTITY_TYPE: ClassVar[str] = "glossaryNode"
815
+ ENTITY_TYPE: ClassVar[Literal["glossaryNode"]] = "glossaryNode"
804
816
  _URN_PARTS: ClassVar[int] = 1
805
817
 
806
818
  def __init__(self, name: Union["GlossaryNodeUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -856,7 +868,7 @@ if TYPE_CHECKING:
856
868
  from datahub.metadata.schema_classes import AssertionKeyClass
857
869
 
858
870
  class AssertionUrn(_SpecificUrn):
859
- ENTITY_TYPE: ClassVar[str] = "assertion"
871
+ ENTITY_TYPE: ClassVar[Literal["assertion"]] = "assertion"
860
872
  _URN_PARTS: ClassVar[int] = 1
861
873
 
862
874
  def __init__(self, assertion_id: Union["AssertionUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -912,7 +924,7 @@ if TYPE_CHECKING:
912
924
  from datahub.metadata.schema_classes import ExecutionRequestKeyClass
913
925
 
914
926
  class DataHubExecutionRequestUrn(_SpecificUrn):
915
- ENTITY_TYPE: ClassVar[str] = "dataHubExecutionRequest"
927
+ ENTITY_TYPE: ClassVar[Literal["dataHubExecutionRequest"]] = "dataHubExecutionRequest"
916
928
  _URN_PARTS: ClassVar[int] = 1
917
929
 
918
930
  def __init__(self, id: Union["DataHubExecutionRequestUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -968,7 +980,7 @@ if TYPE_CHECKING:
968
980
  from datahub.metadata.schema_classes import MLModelGroupKeyClass
969
981
 
970
982
  class MlModelGroupUrn(_SpecificUrn):
971
- ENTITY_TYPE: ClassVar[str] = "mlModelGroup"
983
+ ENTITY_TYPE: ClassVar[Literal["mlModelGroup"]] = "mlModelGroup"
972
984
  _URN_PARTS: ClassVar[int] = 3
973
985
 
974
986
  def __init__(self, platform: Union["DataPlatformUrn", str], name: str, env: str = "PROD", *, _allow_coercion: bool = True) -> None:
@@ -1031,7 +1043,7 @@ if TYPE_CHECKING:
1031
1043
  from datahub.metadata.schema_classes import MLModelDeploymentKeyClass
1032
1044
 
1033
1045
  class MlModelDeploymentUrn(_SpecificUrn):
1034
- ENTITY_TYPE: ClassVar[str] = "mlModelDeployment"
1046
+ ENTITY_TYPE: ClassVar[Literal["mlModelDeployment"]] = "mlModelDeployment"
1035
1047
  _URN_PARTS: ClassVar[int] = 3
1036
1048
 
1037
1049
  def __init__(self, platform: Union["DataPlatformUrn", str], name: str, env: str = "PROD", *, _allow_coercion: bool = True) -> None:
@@ -1094,7 +1106,7 @@ if TYPE_CHECKING:
1094
1106
  from datahub.metadata.schema_classes import DataFlowKeyClass
1095
1107
 
1096
1108
  class DataFlowUrn(_SpecificUrn):
1097
- ENTITY_TYPE: ClassVar[str] = "dataFlow"
1109
+ ENTITY_TYPE: ClassVar[Literal["dataFlow"]] = "dataFlow"
1098
1110
  _URN_PARTS: ClassVar[int] = 3
1099
1111
 
1100
1112
  def __init__(self, orchestrator: str, flow_id: str, cluster: str, *, _allow_coercion: bool = True) -> None:
@@ -1183,7 +1195,7 @@ if TYPE_CHECKING:
1183
1195
  from datahub.metadata.schema_classes import DataJobKeyClass
1184
1196
 
1185
1197
  class DataJobUrn(_SpecificUrn):
1186
- ENTITY_TYPE: ClassVar[str] = "dataJob"
1198
+ ENTITY_TYPE: ClassVar[Literal["dataJob"]] = "dataJob"
1187
1199
  _URN_PARTS: ClassVar[int] = 2
1188
1200
 
1189
1201
  def __init__(self, flow: Union["DataFlowUrn", str], job_id: str, *, _allow_coercion: bool = True) -> None:
@@ -1255,7 +1267,7 @@ if TYPE_CHECKING:
1255
1267
  from datahub.metadata.schema_classes import CorpGroupKeyClass
1256
1268
 
1257
1269
  class CorpGroupUrn(_SpecificUrn):
1258
- ENTITY_TYPE: ClassVar[str] = "corpGroup"
1270
+ ENTITY_TYPE: ClassVar[Literal["corpGroup"]] = "corpGroup"
1259
1271
  _URN_PARTS: ClassVar[int] = 1
1260
1272
 
1261
1273
  def __init__(self, name: Union["CorpGroupUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -1316,7 +1328,7 @@ if TYPE_CHECKING:
1316
1328
  from datahub.metadata.schema_classes import DataPlatformKeyClass
1317
1329
 
1318
1330
  class DataPlatformUrn(_SpecificUrn):
1319
- ENTITY_TYPE: ClassVar[str] = "dataPlatform"
1331
+ ENTITY_TYPE: ClassVar[Literal["dataPlatform"]] = "dataPlatform"
1320
1332
  _URN_PARTS: ClassVar[int] = 1
1321
1333
 
1322
1334
  def __init__(self, platform_name: Union["DataPlatformUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -1377,7 +1389,7 @@ if TYPE_CHECKING:
1377
1389
  from datahub.metadata.schema_classes import CorpUserKeyClass
1378
1390
 
1379
1391
  class CorpUserUrn(_SpecificUrn):
1380
- ENTITY_TYPE: ClassVar[str] = "corpuser"
1392
+ ENTITY_TYPE: ClassVar[Literal["corpuser"]] = "corpuser"
1381
1393
  _URN_PARTS: ClassVar[int] = 1
1382
1394
 
1383
1395
  def __init__(self, username: Union["CorpUserUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -1438,7 +1450,7 @@ if TYPE_CHECKING:
1438
1450
  from datahub.metadata.schema_classes import DashboardKeyClass
1439
1451
 
1440
1452
  class DashboardUrn(_SpecificUrn):
1441
- ENTITY_TYPE: ClassVar[str] = "dashboard"
1453
+ ENTITY_TYPE: ClassVar[Literal["dashboard"]] = "dashboard"
1442
1454
  _URN_PARTS: ClassVar[int] = 2
1443
1455
 
1444
1456
  def __init__(self, dashboard_tool: str, dashboard_id: str, *, _allow_coercion: bool = True) -> None:
@@ -1480,6 +1492,18 @@ class DashboardUrn(_SpecificUrn):
1480
1492
  def from_key_aspect(cls, key_aspect: "DashboardKeyClass") -> "DashboardUrn":
1481
1493
  return cls(dashboard_tool=key_aspect.dashboardTool, dashboard_id=key_aspect.dashboardId)
1482
1494
 
1495
+ @classmethod
1496
+ def create_from_ids(
1497
+ cls,
1498
+ platform: str,
1499
+ name: str,
1500
+ platform_instance: Optional[str] = None,
1501
+ ) -> "DashboardUrn":
1502
+ return DashboardUrn(
1503
+ dashboard_tool=platform,
1504
+ dashboard_id=f"{platform_instance}.{name}" if platform_instance else name,
1505
+ )
1506
+
1483
1507
  @property
1484
1508
  def dashboard_tool(self) -> str:
1485
1509
  return self._entity_ids[0]
@@ -1492,7 +1516,7 @@ if TYPE_CHECKING:
1492
1516
  from datahub.metadata.schema_classes import MLPrimaryKeyKeyClass
1493
1517
 
1494
1518
  class MlPrimaryKeyUrn(_SpecificUrn):
1495
- ENTITY_TYPE: ClassVar[str] = "mlPrimaryKey"
1519
+ ENTITY_TYPE: ClassVar[Literal["mlPrimaryKey"]] = "mlPrimaryKey"
1496
1520
  _URN_PARTS: ClassVar[int] = 2
1497
1521
 
1498
1522
  def __init__(self, feature_namespace: str, name: str, *, _allow_coercion: bool = True) -> None:
@@ -1546,7 +1570,7 @@ if TYPE_CHECKING:
1546
1570
  from datahub.metadata.schema_classes import QueryKeyClass
1547
1571
 
1548
1572
  class QueryUrn(_SpecificUrn):
1549
- ENTITY_TYPE: ClassVar[str] = "query"
1573
+ ENTITY_TYPE: ClassVar[Literal["query"]] = "query"
1550
1574
  _URN_PARTS: ClassVar[int] = 1
1551
1575
 
1552
1576
  def __init__(self, id: Union["QueryUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -1602,7 +1626,7 @@ if TYPE_CHECKING:
1602
1626
  from datahub.metadata.schema_classes import OwnershipTypeKeyClass
1603
1627
 
1604
1628
  class OwnershipTypeUrn(_SpecificUrn):
1605
- ENTITY_TYPE: ClassVar[str] = "ownershipType"
1629
+ ENTITY_TYPE: ClassVar[Literal["ownershipType"]] = "ownershipType"
1606
1630
  _URN_PARTS: ClassVar[int] = 1
1607
1631
 
1608
1632
  def __init__(self, id: Union["OwnershipTypeUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -1658,7 +1682,7 @@ if TYPE_CHECKING:
1658
1682
  from datahub.metadata.schema_classes import DomainKeyClass
1659
1683
 
1660
1684
  class DomainUrn(_SpecificUrn):
1661
- ENTITY_TYPE: ClassVar[str] = "domain"
1685
+ ENTITY_TYPE: ClassVar[Literal["domain"]] = "domain"
1662
1686
  _URN_PARTS: ClassVar[int] = 1
1663
1687
 
1664
1688
  def __init__(self, id: Union["DomainUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -1719,7 +1743,7 @@ if TYPE_CHECKING:
1719
1743
  from datahub.metadata.schema_classes import MLFeatureKeyClass
1720
1744
 
1721
1745
  class MlFeatureUrn(_SpecificUrn):
1722
- ENTITY_TYPE: ClassVar[str] = "mlFeature"
1746
+ ENTITY_TYPE: ClassVar[Literal["mlFeature"]] = "mlFeature"
1723
1747
  _URN_PARTS: ClassVar[int] = 2
1724
1748
 
1725
1749
  def __init__(self, feature_namespace: str, name: str, *, _allow_coercion: bool = True) -> None:
@@ -1773,7 +1797,7 @@ if TYPE_CHECKING:
1773
1797
  from datahub.metadata.schema_classes import MLFeatureTableKeyClass
1774
1798
 
1775
1799
  class MlFeatureTableUrn(_SpecificUrn):
1776
- ENTITY_TYPE: ClassVar[str] = "mlFeatureTable"
1800
+ ENTITY_TYPE: ClassVar[Literal["mlFeatureTable"]] = "mlFeatureTable"
1777
1801
  _URN_PARTS: ClassVar[int] = 2
1778
1802
 
1779
1803
  def __init__(self, platform: Union["DataPlatformUrn", str], name: str, *, _allow_coercion: bool = True) -> None:
@@ -1827,7 +1851,7 @@ if TYPE_CHECKING:
1827
1851
  from datahub.metadata.schema_classes import DataHubViewKeyClass
1828
1852
 
1829
1853
  class DataHubViewUrn(_SpecificUrn):
1830
- ENTITY_TYPE: ClassVar[str] = "dataHubView"
1854
+ ENTITY_TYPE: ClassVar[Literal["dataHubView"]] = "dataHubView"
1831
1855
  _URN_PARTS: ClassVar[int] = 1
1832
1856
 
1833
1857
  def __init__(self, id: Union["DataHubViewUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -1883,7 +1907,7 @@ if TYPE_CHECKING:
1883
1907
  from datahub.metadata.schema_classes import DataHubActionKeyClass
1884
1908
 
1885
1909
  class DataHubActionUrn(_SpecificUrn):
1886
- ENTITY_TYPE: ClassVar[str] = "dataHubAction"
1910
+ ENTITY_TYPE: ClassVar[Literal["dataHubAction"]] = "dataHubAction"
1887
1911
  _URN_PARTS: ClassVar[int] = 1
1888
1912
 
1889
1913
  def __init__(self, id: Union["DataHubActionUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -1939,7 +1963,7 @@ if TYPE_CHECKING:
1939
1963
  from datahub.metadata.schema_classes import DataHubUpgradeKeyClass
1940
1964
 
1941
1965
  class DataHubUpgradeUrn(_SpecificUrn):
1942
- ENTITY_TYPE: ClassVar[str] = "dataHubUpgrade"
1966
+ ENTITY_TYPE: ClassVar[Literal["dataHubUpgrade"]] = "dataHubUpgrade"
1943
1967
  _URN_PARTS: ClassVar[int] = 1
1944
1968
 
1945
1969
  def __init__(self, id: Union["DataHubUpgradeUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -1995,7 +2019,7 @@ if TYPE_CHECKING:
1995
2019
  from datahub.metadata.schema_classes import DataHubStepStateKeyClass
1996
2020
 
1997
2021
  class DataHubStepStateUrn(_SpecificUrn):
1998
- ENTITY_TYPE: ClassVar[str] = "dataHubStepState"
2022
+ ENTITY_TYPE: ClassVar[Literal["dataHubStepState"]] = "dataHubStepState"
1999
2023
  _URN_PARTS: ClassVar[int] = 1
2000
2024
 
2001
2025
  def __init__(self, id: Union["DataHubStepStateUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2051,7 +2075,7 @@ if TYPE_CHECKING:
2051
2075
  from datahub.metadata.schema_classes import ERModelRelationshipKeyClass
2052
2076
 
2053
2077
  class ErModelRelationshipUrn(_SpecificUrn):
2054
- ENTITY_TYPE: ClassVar[str] = "erModelRelationship"
2078
+ ENTITY_TYPE: ClassVar[Literal["erModelRelationship"]] = "erModelRelationship"
2055
2079
  _URN_PARTS: ClassVar[int] = 1
2056
2080
 
2057
2081
  def __init__(self, id: Union["ErModelRelationshipUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2107,7 +2131,7 @@ if TYPE_CHECKING:
2107
2131
  from datahub.metadata.schema_classes import DataHubPolicyKeyClass
2108
2132
 
2109
2133
  class DataHubPolicyUrn(_SpecificUrn):
2110
- ENTITY_TYPE: ClassVar[str] = "dataHubPolicy"
2134
+ ENTITY_TYPE: ClassVar[Literal["dataHubPolicy"]] = "dataHubPolicy"
2111
2135
  _URN_PARTS: ClassVar[int] = 1
2112
2136
 
2113
2137
  def __init__(self, id: Union["DataHubPolicyUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2163,7 +2187,7 @@ if TYPE_CHECKING:
2163
2187
  from datahub.metadata.schema_classes import DataHubRetentionKeyClass
2164
2188
 
2165
2189
  class DataHubRetentionUrn(_SpecificUrn):
2166
- ENTITY_TYPE: ClassVar[str] = "dataHubRetention"
2190
+ ENTITY_TYPE: ClassVar[Literal["dataHubRetention"]] = "dataHubRetention"
2167
2191
  _URN_PARTS: ClassVar[int] = 2
2168
2192
 
2169
2193
  def __init__(self, entity_name: str, aspect_name: str, *, _allow_coercion: bool = True) -> None:
@@ -2217,7 +2241,7 @@ if TYPE_CHECKING:
2217
2241
  from datahub.metadata.schema_classes import DataContractKeyClass
2218
2242
 
2219
2243
  class DataContractUrn(_SpecificUrn):
2220
- ENTITY_TYPE: ClassVar[str] = "dataContract"
2244
+ ENTITY_TYPE: ClassVar[Literal["dataContract"]] = "dataContract"
2221
2245
  _URN_PARTS: ClassVar[int] = 1
2222
2246
 
2223
2247
  def __init__(self, id: Union["DataContractUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2273,7 +2297,7 @@ if TYPE_CHECKING:
2273
2297
  from datahub.metadata.schema_classes import DataProcessKeyClass
2274
2298
 
2275
2299
  class DataProcessUrn(_SpecificUrn):
2276
- ENTITY_TYPE: ClassVar[str] = "dataProcess"
2300
+ ENTITY_TYPE: ClassVar[Literal["dataProcess"]] = "dataProcess"
2277
2301
  _URN_PARTS: ClassVar[int] = 3
2278
2302
 
2279
2303
  def __init__(self, name: str, orchestrator: str, env: str = "PROD", *, _allow_coercion: bool = True) -> None:
@@ -2336,7 +2360,7 @@ if TYPE_CHECKING:
2336
2360
  from datahub.metadata.schema_classes import DataProcessInstanceKeyClass
2337
2361
 
2338
2362
  class DataProcessInstanceUrn(_SpecificUrn):
2339
- ENTITY_TYPE: ClassVar[str] = "dataProcessInstance"
2363
+ ENTITY_TYPE: ClassVar[Literal["dataProcessInstance"]] = "dataProcessInstance"
2340
2364
  _URN_PARTS: ClassVar[int] = 1
2341
2365
 
2342
2366
  def __init__(self, id: Union["DataProcessInstanceUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2401,7 +2425,7 @@ if TYPE_CHECKING:
2401
2425
  from datahub.metadata.schema_classes import GlossaryTermKeyClass
2402
2426
 
2403
2427
  class GlossaryTermUrn(_SpecificUrn):
2404
- ENTITY_TYPE: ClassVar[str] = "glossaryTerm"
2428
+ ENTITY_TYPE: ClassVar[Literal["glossaryTerm"]] = "glossaryTerm"
2405
2429
  _URN_PARTS: ClassVar[int] = 1
2406
2430
 
2407
2431
  def __init__(self, name: Union["GlossaryTermUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2457,7 +2481,7 @@ if TYPE_CHECKING:
2457
2481
  from datahub.metadata.schema_classes import FormKeyClass
2458
2482
 
2459
2483
  class FormUrn(_SpecificUrn):
2460
- ENTITY_TYPE: ClassVar[str] = "form"
2484
+ ENTITY_TYPE: ClassVar[Literal["form"]] = "form"
2461
2485
  _URN_PARTS: ClassVar[int] = 1
2462
2486
 
2463
2487
  def __init__(self, id: Union["FormUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2513,7 +2537,7 @@ if TYPE_CHECKING:
2513
2537
  from datahub.metadata.schema_classes import SchemaFieldKeyClass
2514
2538
 
2515
2539
  class SchemaFieldUrn(_SpecificUrn):
2516
- ENTITY_TYPE: ClassVar[str] = "schemaField"
2540
+ ENTITY_TYPE: ClassVar[Literal["schemaField"]] = "schemaField"
2517
2541
  _URN_PARTS: ClassVar[int] = 2
2518
2542
 
2519
2543
  def __init__(self, parent: Union["Urn", str], field_path: str, *, _allow_coercion: bool = True) -> None:
@@ -2574,7 +2598,7 @@ if TYPE_CHECKING:
2574
2598
  from datahub.metadata.schema_classes import TagKeyClass
2575
2599
 
2576
2600
  class TagUrn(_SpecificUrn):
2577
- ENTITY_TYPE: ClassVar[str] = "tag"
2601
+ ENTITY_TYPE: ClassVar[Literal["tag"]] = "tag"
2578
2602
  _URN_PARTS: ClassVar[int] = 1
2579
2603
 
2580
2604
  def __init__(self, name: Union["TagUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2635,7 +2659,7 @@ if TYPE_CHECKING:
2635
2659
  from datahub.metadata.schema_classes import PostKeyClass
2636
2660
 
2637
2661
  class PostUrn(_SpecificUrn):
2638
- ENTITY_TYPE: ClassVar[str] = "post"
2662
+ ENTITY_TYPE: ClassVar[Literal["post"]] = "post"
2639
2663
  _URN_PARTS: ClassVar[int] = 1
2640
2664
 
2641
2665
  def __init__(self, id: Union["PostUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2691,7 +2715,7 @@ if TYPE_CHECKING:
2691
2715
  from datahub.metadata.schema_classes import DataHubIngestionSourceKeyClass
2692
2716
 
2693
2717
  class DataHubIngestionSourceUrn(_SpecificUrn):
2694
- ENTITY_TYPE: ClassVar[str] = "dataHubIngestionSource"
2718
+ ENTITY_TYPE: ClassVar[Literal["dataHubIngestionSource"]] = "dataHubIngestionSource"
2695
2719
  _URN_PARTS: ClassVar[int] = 1
2696
2720
 
2697
2721
  def __init__(self, id: Union["DataHubIngestionSourceUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2747,7 +2771,7 @@ if TYPE_CHECKING:
2747
2771
  from datahub.metadata.schema_classes import InviteTokenKeyClass
2748
2772
 
2749
2773
  class InviteTokenUrn(_SpecificUrn):
2750
- ENTITY_TYPE: ClassVar[str] = "inviteToken"
2774
+ ENTITY_TYPE: ClassVar[Literal["inviteToken"]] = "inviteToken"
2751
2775
  _URN_PARTS: ClassVar[int] = 1
2752
2776
 
2753
2777
  def __init__(self, id: Union["InviteTokenUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2803,7 +2827,7 @@ if TYPE_CHECKING:
2803
2827
  from datahub.metadata.schema_classes import DataHubPersonaKeyClass
2804
2828
 
2805
2829
  class DataHubPersonaUrn(_SpecificUrn):
2806
- ENTITY_TYPE: ClassVar[str] = "dataHubPersona"
2830
+ ENTITY_TYPE: ClassVar[Literal["dataHubPersona"]] = "dataHubPersona"
2807
2831
  _URN_PARTS: ClassVar[int] = 1
2808
2832
 
2809
2833
  def __init__(self, id: Union["DataHubPersonaUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2859,7 +2883,7 @@ if TYPE_CHECKING:
2859
2883
  from datahub.metadata.schema_classes import ContainerKeyClass
2860
2884
 
2861
2885
  class ContainerUrn(_SpecificUrn):
2862
- ENTITY_TYPE: ClassVar[str] = "container"
2886
+ ENTITY_TYPE: ClassVar[Literal["container"]] = "container"
2863
2887
  _URN_PARTS: ClassVar[int] = 1
2864
2888
 
2865
2889
  def __init__(self, guid: Union["ContainerUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2915,7 +2939,7 @@ if TYPE_CHECKING:
2915
2939
  from datahub.metadata.schema_classes import IncidentKeyClass
2916
2940
 
2917
2941
  class IncidentUrn(_SpecificUrn):
2918
- ENTITY_TYPE: ClassVar[str] = "incident"
2942
+ ENTITY_TYPE: ClassVar[Literal["incident"]] = "incident"
2919
2943
  _URN_PARTS: ClassVar[int] = 1
2920
2944
 
2921
2945
  def __init__(self, id: Union["IncidentUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -2971,7 +2995,7 @@ if TYPE_CHECKING:
2971
2995
  from datahub.metadata.schema_classes import DataPlatformInstanceKeyClass
2972
2996
 
2973
2997
  class DataPlatformInstanceUrn(_SpecificUrn):
2974
- ENTITY_TYPE: ClassVar[str] = "dataPlatformInstance"
2998
+ ENTITY_TYPE: ClassVar[Literal["dataPlatformInstance"]] = "dataPlatformInstance"
2975
2999
  _URN_PARTS: ClassVar[int] = 2
2976
3000
 
2977
3001
  def __init__(self, platform: Union["DataPlatformUrn", str], instance: str, *, _allow_coercion: bool = True) -> None:
@@ -3025,7 +3049,7 @@ if TYPE_CHECKING:
3025
3049
  from datahub.metadata.schema_classes import TestKeyClass
3026
3050
 
3027
3051
  class TestUrn(_SpecificUrn):
3028
- ENTITY_TYPE: ClassVar[str] = "test"
3052
+ ENTITY_TYPE: ClassVar[Literal["test"]] = "test"
3029
3053
  _URN_PARTS: ClassVar[int] = 1
3030
3054
 
3031
3055
  def __init__(self, id: Union["TestUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -3081,7 +3105,7 @@ if TYPE_CHECKING:
3081
3105
  from datahub.metadata.schema_classes import VersionSetKeyClass
3082
3106
 
3083
3107
  class VersionSetUrn(_SpecificUrn):
3084
- ENTITY_TYPE: ClassVar[str] = "versionSet"
3108
+ ENTITY_TYPE: ClassVar[Literal["versionSet"]] = "versionSet"
3085
3109
  _URN_PARTS: ClassVar[int] = 2
3086
3110
 
3087
3111
  def __init__(self, id: str, entity_type: str, *, _allow_coercion: bool = True) -> None:
@@ -3135,7 +3159,7 @@ if TYPE_CHECKING:
3135
3159
  from datahub.metadata.schema_classes import DataHubSecretKeyClass
3136
3160
 
3137
3161
  class DataHubSecretUrn(_SpecificUrn):
3138
- ENTITY_TYPE: ClassVar[str] = "dataHubSecret"
3162
+ ENTITY_TYPE: ClassVar[Literal["dataHubSecret"]] = "dataHubSecret"
3139
3163
  _URN_PARTS: ClassVar[int] = 1
3140
3164
 
3141
3165
  def __init__(self, id: Union["DataHubSecretUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -3191,7 +3215,7 @@ if TYPE_CHECKING:
3191
3215
  from datahub.metadata.schema_classes import EntityTypeKeyClass
3192
3216
 
3193
3217
  class EntityTypeUrn(_SpecificUrn):
3194
- ENTITY_TYPE: ClassVar[str] = "entityType"
3218
+ ENTITY_TYPE: ClassVar[Literal["entityType"]] = "entityType"
3195
3219
  _URN_PARTS: ClassVar[int] = 1
3196
3220
 
3197
3221
  def __init__(self, id: Union["EntityTypeUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -3247,7 +3271,7 @@ if TYPE_CHECKING:
3247
3271
  from datahub.metadata.schema_classes import StructuredPropertyKeyClass
3248
3272
 
3249
3273
  class StructuredPropertyUrn(_SpecificUrn):
3250
- ENTITY_TYPE: ClassVar[str] = "structuredProperty"
3274
+ ENTITY_TYPE: ClassVar[Literal["structuredProperty"]] = "structuredProperty"
3251
3275
  _URN_PARTS: ClassVar[int] = 1
3252
3276
 
3253
3277
  def __init__(self, id: Union["StructuredPropertyUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -3303,7 +3327,7 @@ if TYPE_CHECKING:
3303
3327
  from datahub.metadata.schema_classes import PlatformResourceKeyClass
3304
3328
 
3305
3329
  class PlatformResourceUrn(_SpecificUrn):
3306
- ENTITY_TYPE: ClassVar[str] = "platformResource"
3330
+ ENTITY_TYPE: ClassVar[Literal["platformResource"]] = "platformResource"
3307
3331
  _URN_PARTS: ClassVar[int] = 1
3308
3332
 
3309
3333
  def __init__(self, id: Union["PlatformResourceUrn", str], *, _allow_coercion: bool = True) -> None:
@@ -13272,7 +13272,8 @@
13272
13272
  "status",
13273
13273
  "structuredProperties",
13274
13274
  "forms",
13275
- "testResults"
13275
+ "testResults",
13276
+ "subTypes"
13276
13277
  ]
13277
13278
  },
13278
13279
  "name": "DataProductKey",
@@ -14051,6 +14052,24 @@
14051
14052
  "name": "sortId",
14052
14053
  "doc": "Sort identifier that determines where a version lives in the order of the Version Set.\nWhat this looks like depends on the Version Scheme. For sort ids generated by DataHub we use an 8 character string representation."
14053
14054
  },
14055
+ {
14056
+ "type": {
14057
+ "type": "enum",
14058
+ "symbolDocs": {
14059
+ "ALPHANUMERIC_GENERATED_BY_DATAHUB": "String managed by DataHub. Currently, an 8 character alphabetical string.",
14060
+ "LEXICOGRAPHIC_STRING": "String sorted lexicographically."
14061
+ },
14062
+ "name": "VersioningScheme",
14063
+ "namespace": "com.linkedin.pegasus2avro.versionset",
14064
+ "symbols": [
14065
+ "LEXICOGRAPHIC_STRING",
14066
+ "ALPHANUMERIC_GENERATED_BY_DATAHUB"
14067
+ ]
14068
+ },
14069
+ "name": "versioningScheme",
14070
+ "default": "LEXICOGRAPHIC_STRING",
14071
+ "doc": "What versioning scheme `sortId` belongs to.\nDefaults to a plain string that is lexicographically sorted."
14072
+ },
14054
14073
  {
14055
14074
  "type": [
14056
14075
  "null",
@@ -15834,7 +15853,8 @@
15834
15853
  "keyForEntity": "post",
15835
15854
  "entityCategory": "core",
15836
15855
  "entityAspects": [
15837
- "postInfo"
15856
+ "postInfo",
15857
+ "subTypes"
15838
15858
  ]
15839
15859
  },
15840
15860
  "name": "PostKey",
@@ -16522,14 +16542,7 @@
16522
16542
  "doc": "The latest versioned entity linked to in this version set"
16523
16543
  },
16524
16544
  {
16525
- "type": {
16526
- "type": "enum",
16527
- "name": "VersioningScheme",
16528
- "namespace": "com.linkedin.pegasus2avro.versionset",
16529
- "symbols": [
16530
- "ALPHANUMERIC_GENERATED_BY_DATAHUB"
16531
- ]
16532
- },
16545
+ "type": "com.linkedin.pegasus2avro.versionset.VersioningScheme",
16533
16546
  "name": "versioningScheme",
16534
16547
  "doc": "What versioning scheme is being utilized for the versioned entities sort criterion. Static once set"
16535
16548
  }
@@ -14,7 +14,8 @@
14
14
  "roleMembership",
15
15
  "structuredProperties",
16
16
  "forms",
17
- "testResults"
17
+ "testResults",
18
+ "subTypes"
18
19
  ],
19
20
  "entityDoc": "CorpGroup represents an identity of a group of users in the enterprise."
20
21
  },
@@ -18,7 +18,8 @@
18
18
  "roleMembership",
19
19
  "structuredProperties",
20
20
  "forms",
21
- "testResults"
21
+ "testResults",
22
+ "subTypes"
22
23
  ],
23
24
  "entityDoc": "CorpUser represents an identity of a person (or an account) in the enterprise."
24
25
  },
@@ -8,7 +8,8 @@
8
8
  "dataProcessInfo",
9
9
  "ownership",
10
10
  "status",
11
- "testResults"
11
+ "testResults",
12
+ "subTypes"
12
13
  ]
13
14
  },
14
15
  "name": "DataProcessKey",
@@ -14,7 +14,8 @@
14
14
  "status",
15
15
  "structuredProperties",
16
16
  "forms",
17
- "testResults"
17
+ "testResults",
18
+ "subTypes"
18
19
  ]
19
20
  },
20
21
  "name": "DataProductKey",
@@ -11,7 +11,8 @@
11
11
  "status",
12
12
  "structuredProperties",
13
13
  "forms",
14
- "testResults"
14
+ "testResults",
15
+ "subTypes"
15
16
  ]
16
17
  },
17
18
  "name": "GlossaryNodeKey",
@@ -16,7 +16,8 @@
16
16
  "browsePaths",
17
17
  "structuredProperties",
18
18
  "forms",
19
- "testResults"
19
+ "testResults",
20
+ "subTypes"
20
21
  ]
21
22
  },
22
23
  "name": "GlossaryTermKey",