Files
ozon-seller-kit/config/settings.py
T
2026-08-07 17:34:24 +08:00

36 lines
887 B
Python

from functools import lru_cache
from pathlib import Path
from dotenv import load_dotenv
from pydantic_settings import BaseSettings, SettingsConfigDict
_ROOT_DIR = Path(__file__).resolve().parents[1]
load_dotenv(_ROOT_DIR / ".env")
class Settings(BaseSettings):
"""运行时与密钥。模型清单见 config/models.yaml。"""
model_config = SettingsConfigDict(
env_file=str(_ROOT_DIR / ".env"),
env_file_encoding="utf-8",
extra="ignore",
)
deepseek_api_key: str = ""
openai_api_key: str = ""
host: str = "127.0.0.1"
port: int = 8000
cors_origins: str = ""
@property
def cors_origin_list(self) -> list[str]:
if not self.cors_origins.strip():
return []
return [o.strip() for o in self.cors_origins.split(",") if o.strip()]
@lru_cache
def get_settings() -> Settings:
return Settings()