File size: 1,770 Bytes
792ad00 6ff1138 792ad00 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | from pydantic_settings import BaseSettings, SettingsConfigDict
from typing import Optional
class Settings(BaseSettings):
# AWS Settings
AWS_ACCESS_KEY_ID: Optional[str] = None
AWS_SECRET_ACCESS_KEY: Optional[str] = None
AWS_REGION: str = "us-east-1"
AWS_S3_BUCKET: Optional[str] = None
# Security
SECRET_KEY: str = "supersecret-placeholder"
ALGORITHM: str = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES: int = 30
# LLM Keys
OPENAI_API_KEY: Optional[str] = None
GEMINI_API_KEY: Optional[str] = None
# Database
DATABASE_URL: Optional[str] = None
# Google / Transformation Settings
GOOGLE_OAUTH_CLIENT_SECRETS: Optional[str] = None
GOOGLE_OAUTH_TOKEN: Optional[str] = None
GOOGLE_OAUTH_TOKEN_JSON: Optional[str] = None
GCS_BUCKET: Optional[str] = None
GCP_SA_JSON: Optional[str] = None
GEMINI_USE_VERTEX: Optional[str] = None
GCP_PROJECT: Optional[str] = None
GCP_LOCATION: Optional[str] = None
DRIVE_FOLDER_ID: Optional[str] = None
# Azure RAG Settings
AZURE_SEARCH_KEY: Optional[str] = None
AZURE_SEARCH_INDEX_NAME: Optional[str] = None
BLOB_CONNECTION_STRING: Optional[str] = None
BLOB_CONTAINER_NAME: Optional[str] = None
AZURE_SEARCH_ENDPOINT: Optional[str] = None
AZURE_OPENAI_ENDPOINT: Optional[str] = None
AZURE_OPENAI_API_KEY: Optional[str] = None
AZURE_OPENAI_DEPLOYMENT_NAME: Optional[str] = None
AZURE_OPENAI_API_VERSION: Optional[str] = None
# Supabase Settings (Unified Auth)
SUPABASE_URL: Optional[str] = None
SUPABASE_ANON_KEY: Optional[str] = None
SUPABASE_JWT_SECRET: Optional[str] = None
model_config = SettingsConfigDict(
env_file=".env",
extra="ignore"
)
settings = Settings() |