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]