"""Application configuration.""" from typing import Optional from pydantic_settings import BaseSettings from pydantic import Field class Settings(BaseSettings): """Application settings.""" # Application app_name: str = "Pension Quant Platform" environment: str = Field(default="development", env="ENVIRONMENT") secret_key: str = Field(..., env="SECRET_KEY") # Database database_url: str = Field(..., env="DATABASE_URL") # Redis redis_url: str = Field(default="redis://localhost:6379/0", env="REDIS_URL") # Celery celery_broker_url: str = Field(default="redis://localhost:6379/1", env="CELERY_BROKER_URL") celery_result_backend: str = Field(default="redis://localhost:6379/2", env="CELERY_RESULT_BACKEND") # Data Collection data_collection_hour: int = Field(default=18, env="DATA_COLLECTION_HOUR") data_collection_minute: int = Field(default=0, env="DATA_COLLECTION_MINUTE") # Backtest default_commission_rate: float = 0.0015 # 0.15% default_initial_capital: float = 10000000.0 # 1천만원 # API api_v1_prefix: str = "/api/v1" class Config: env_file = ".env" case_sensitive = False extra = "ignore" # Global settings instance settings = Settings()