Spaces:
Sleeping
Sleeping
| """ | |
| 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() | |