from __future__ import annotations from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore") app_pin: str = "1234" jwt_secret: str = "dev-secret-change-me" jwt_expire_days: int = 90 openrouter_api_key: str = "" openrouter_model: str = "google/gemini-2.5-flash" db_path: str = "data/ytrecap.sqlite" public_dir: str = "public" app_url: str = "http://localhost:8000" app_version: str = "1.0.0" # YouTube transcript proxy (optional — for IP blocks) # Single URL used for HTTP+HTTPS, e.g. http://user:pass@host:port youtube_proxy: str = "" # Webshare rotating residential (paid package — NOT free "Proxy Server" tier) webshare_proxy_username: str = "" webshare_proxy_password: str = "" webshare_proxy_locations: str = "" # comma-separated, e.g. de,es settings = Settings() # type: ignore[call-arg]