dashboard/app/config.py

27 lines
733 B
Python

from functools import lru_cache
from typing import ClassVar
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
model_config: ClassVar[SettingsConfigDict] = SettingsConfigDict(env_prefix="DASH_", env_file=".env", extra="ignore")
host: str = "127.0.0.1"
port: int = 8501
sample_interval: float = 2.0
retention_minutes: int = 60
chart_max_points: int = 200
llama_base_url: str = "http://127.0.0.1:8080"
llama_api_key: str = ""
llama_timeout: float = 4.0
@property
def history_maxlen(self) -> int:
return max(10, int(self.retention_minutes * 60 / self.sample_interval))
@lru_cache
def get_settings() -> Settings:
return Settings()