Fucius's picture
Upload 422 files
2eafbc4 verified
import logging
from dataclasses import dataclass
from datetime import datetime
from enum import Enum
import numpy as np
FrameTimestamp = datetime
FrameID = int
class UpdateSeverity(Enum):
"""Enumeration for defining different levels of update severity.
Attributes:
DEBUG (int): A debugging severity level.
INFO (int): An informational severity level.
WARNING (int): A warning severity level.
ERROR (int): An error severity level.
"""
DEBUG = logging.DEBUG
INFO = logging.INFO
WARNING = logging.WARNING
ERROR = logging.ERROR
@dataclass(frozen=True)
class StatusUpdate:
"""Represents a status update event in the system.
Attributes:
timestamp (datetime): The timestamp when the status update was created.
severity (UpdateSeverity): The severity level of the update.
event_type (str): A string representing the type of the event.
payload (dict): A dictionary containing data relevant to the update.
context (str): A string providing additional context about the update.
"""
timestamp: datetime
severity: UpdateSeverity
event_type: str
payload: dict
context: str
@dataclass(frozen=True)
class VideoFrame:
"""Represents a single frame of video data.
Attributes:
image (np.ndarray): The image data of the frame as a NumPy array.
frame_id (FrameID): A unique identifier for the frame.
frame_timestamp (FrameTimestamp): The timestamp when the frame was captured.
"""
image: np.ndarray
frame_id: FrameID
frame_timestamp: FrameTimestamp