| 2 | from typing import Optional |
| 3 | |
| 4 | class Settings(BaseSettings): |
| 5 | # API Keys |
| 6 | OPENROUTER_API_KEY: str |
| 7 | SCRAPEGRAPH_API_KEY: str |
| 8 | |
| 9 | # Database |
| 10 | DATABASE_URL: str |
| 11 | |
| 12 | # Redis |
| 13 | REDIS_URL: str = "redis://redis:6379/0" |
| 14 | |
| 15 | # Security |
| 16 | JWT_SECRET: str |
| 17 | JWT_ALGORITHM: str = "HS256" |
| 18 | JWT_EXPIRATION_HOURS: int = 24 |
| 19 | |
| 20 | # CORS |
| 21 | CORS_ORIGINS: list[str] = ["http://localhost:3000", "http://localhost:80"] |
| 22 | |
| 23 | # OpenRouter Config |
| 24 | OPENROUTER_MODEL: str = "moonshotai/kimi-k2" |
| 25 | |
| 26 | # App Config |
| 27 | APP_NAME: str = "ScrapeCraft" |
| 28 | VERSION: str = "1.0.0" |
| 29 | DEBUG: bool = True |
| 30 | |
| 31 | class Config: |
| 32 | env_file = ".env" |
| 33 | case_sensitive = True |
| 34 | |
| 35 | settings = Settings() |