/ src / evidently / legacy / ui / type_aliases.py
type_aliases.py
 1  import dataclasses
 2  import datetime
 3  import uuid
 4  from typing import Dict
 5  from typing import Generic
 6  from typing import List
 7  from typing import NamedTuple
 8  from typing import TypeVar
 9  from typing import Union
10  
11  import uuid6
12  
13  from evidently.legacy.base_metric import Metric
14  from evidently.legacy.tests.base_test import Test
15  from evidently.legacy.tests.base_test import TestStatus
16  
17  BlobID = str
18  UserID = uuid.UUID
19  TeamID = uuid.UUID
20  OrgID = uuid.UUID
21  RoleID = int
22  ProjectID = uuid.UUID
23  EntityID = uuid.UUID
24  SnapshotID = uuid.UUID
25  STR_UUID = Union[str, uuid.UUID]
26  PanelID = uuid.UUID
27  TabID = uuid.UUID
28  DatasetID = uuid.UUID
29  ComputationConfigID = uuid.UUID
30  ZERO_UUID = uuid6.UUID(int=0, version=7)
31  
32  
33  class TestInfo(NamedTuple):
34      snapshot_id: SnapshotID
35      status: TestStatus
36      description: str
37  
38  
39  TestResultPoints = Dict[datetime.datetime, Dict[Test, TestInfo]]
40  
41  PointType = TypeVar("PointType")
42  
43  
44  @dataclasses.dataclass
45  class PointInfo(Generic[PointType]):
46      timestamp: datetime.datetime
47      snapshot_id: SnapshotID
48      value: PointType
49  
50  
51  DataPointsAsType = List[Dict[Metric, List[PointInfo[PointType]]]]
52  DataPoints = DataPointsAsType[float]