Spaces:
Runtime error
Runtime error
| from pydantic_settings import BaseSettings | |
| from typing import List, Optional | |
| class Settings(BaseSettings): | |
| """Application settings loaded from environment variables.""" | |
| # App Configuration | |
| SECRET_KEY: str | |
| DEBUG: bool = False | |
| PORT: int = 8000 | |
| # Database | |
| DATABASE_URL: str = "sqlite:///data/database.db" | |
| # AI Services | |
| GROQ_API_KEY: str | |
| GROQ_MODEL: str = "llama-3.1-8b-instant" | |
| TAVILY_API_KEY: str | |
| # JWT Configuration | |
| ACCESS_TOKEN_EXPIRE_MINUTES: int = 15 | |
| REFRESH_TOKEN_EXPIRE_DAYS: int = 7 | |
| ALGORITHM: str = "HS256" | |
| # Google OAuth | |
| GOOGLE_CLIENT_ID: Optional[str] = "" | |
| GOOGLE_CLIENT_SECRET: Optional[str] = "" | |
| GOOGLE_REDIRECT_URI: Optional[str] = "" | |
| # CORS | |
| ALLOWED_ORIGINS: str = "*" | |
| def cors_origins(self) -> List[str]: | |
| """Parse CORS origins from comma-separated string.""" | |
| return [origin.strip() for origin in self.ALLOWED_ORIGINS.split(",")] | |
| # Backward compatibility properties (lowercase) | |
| def secret_key(self) -> str: | |
| return self.SECRET_KEY | |
| def algorithm(self) -> str: | |
| return self.ALGORITHM | |
| class Config: | |
| env_file = ".env" | |
| case_sensitive = True | |
| # Global settings instance | |
| settings = Settings() | |