TwoTh / backend /config.py
Aravindselvan
Migrate TwoTh to Hugging Face Space pipeline
d325ede
Raw
History Blame Contribute Delete
1.32 kB
"""
Configuration settings using pydantic-settings.
"""
import os
from pathlib import Path
from typing import Optional
from pydantic_settings import BaseSettings
from pydantic import Field
class Settings(BaseSettings):
"""Application settings loaded from environment variables."""
backend_url: str = Field(default="http://localhost:8000", alias="BACKEND_URL")
vite_api_base: str = Field(default="http://localhost:8000", alias="VITE_API_BASE")
colmap_path: str = Field(default="colmap", alias="COLMAP_PATH")
colmap_use_gpu: str = Field(default="0", alias="COLMAP_USE_GPU")
simulation_mode: bool = Field(default=False, alias="SIMULATION_MODE")
upload_dir: Path = Field(default=Path("./uploads"), alias="UPLOAD_DIR")
output_dir: Path = Field(default=Path("./outputs"), alias="OUTPUT_DIR")
max_file_size_mb: int = Field(default=10, alias="MAX_FILE_SIZE_MB")
max_images: int = Field(default=30, alias="MAX_IMAGES")
job_timeout_seconds: int = Field(default=300, alias="JOB_TIMEOUT_SECONDS")
cleanup_after_hours: float = Field(default=1.0, alias="CLEANUP_AFTER_HOURS")
log_level: str = Field(default="INFO", alias="LOG_LEVEL")
class Config:
env_file = ".env"
env_file_encoding = "utf-8"
case_sensitive = False
settings = Settings()