Samuel_4.0 / config.py
Lukeetah's picture
Update config.py
0c7f84c verified
raw
history blame contribute delete
974 Bytes
# config.py
import os
import secrets
from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict
from passlib.context import CryptContext
from typing import Optional
# --- Pydantic Settings (La Config Inmutable y Validada) ---
class GlobalSettings(BaseSettings):
"""Configuración global de la aplicación."""
model_config = SettingsConfigDict(env_ignore_empty=True, extra='ignore')
JWT_SECRET_KEY: str = Field(default_factory=lambda: os.environ.get("JWT_SECRET_KEY", secrets.token_hex(256)))
GROQ_API_KEY: Optional[str] = os.environ.get("GROQ_API_KEY")
GEMINI_API_KEY: Optional[str] = os.environ.get("GEMINI_API_KEY")
DB_PATH: str = "data/omega_modular_argentina.db"
TOKEN_EXPIRE_MINUTES: int = 2880
RATE_LIMIT_WINDOW: int = 45
RATE_LIMIT_REQUESTS: int = 8
AI_TIMEOUT_SECONDS: float = 8.0
SETTINGS = GlobalSettings()
pwd_context = CryptContext(schemes=["argon2"], deprecated="auto")