Source code for tempor.clinic.const

import os
from typing import Any, Dict, List, NamedTuple

from pydantic import BaseModel
from typing_extensions import Literal

DataModality = Literal["static", "temporal", "event"]

InteractionState = Literal[
    "showing",
    "adding_sample",
    "deleting_sample",
    "editing_static_data",
    "editing_temporal_data",
    "editing_event_data",
    "adding_temporal_data",
    "adding_event_data",
    "deleting_temporal_data",
    "deleting_event_data",
]

DataDefsCollectionDict = Dict[DataModality, Any]  # Union[Dict[str, Dict], List[Dict[str, Dict]]]


[docs]class SessionStateKeys(NamedTuple): current_sample: str = "current_sample" current_timestep: str = "current_timestep" interaction_state: str = "interaction_state" # Field prefixes: data_field_prefix: str = "data" time_index_prefix: str = "time_index"
ASSETS_PATH = os.path.realpath(os.path.join(os.path.dirname(__file__), "assets"))
[docs]class Defaults(NamedTuple): data_dir: str = "./data/" assets_dir: str = "./assets/" logo: str = os.path.join(ASSETS_PATH, "TemporAI_Clinic_Logo.png") icon: str = os.path.join(ASSETS_PATH, "TemporAI_Clinic_Logo_Icon.ico") # Special fields: time_index_field: str = "time_index" # Streamlit component keys: key_sample_selector: str = "sample_selector" key_edit_form_static: str = "edit_form_static" key_edit_form_temporal: str = "edit_form_static"
DEFAULTS = Defaults() STATE_KEYS = SessionStateKeys()
[docs]class DataSample(BaseModel): static: Dict[str, Any] temporal: List[Dict[str, Any]] event: List[Dict[str, Any]]