from functools import lru_cache from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): database_url: str = "postgresql+psycopg://train_watcher:train_watcher@localhost:5432/train_watcher" service_token: str = "dev-service-token-change-me" s3_endpoint_url: str = "http://localhost:9000" s3_public_base_url: str = "http://localhost:9000" s3_access_key_id: str = "minioadmin" s3_secret_access_key: str = "minioadmin" s3_bucket: str = "train-watcher-media" s3_region: str = "us-east-1" builtin_assets_dir: str = "/app/workout_assets" model_config = SettingsConfigDict(env_file=".env", extra="ignore") @lru_cache def get_settings() -> Settings: return Settings() settings = get_settings()