from pydantic_settings import BaseSettings from pydantic import BaseModel from pathlib import Path import logging BASE_DIR = Path(__file__).parent.parent DB_PATH = BASE_DIR / "db.sqlite3" class DbSettings(BaseModel): url: str = f"sqlite+aiosqlite:///{DB_PATH}" echo: bool = False class Settings(BaseSettings): api_v1_prefix: str = "/api/v1" db: DbSettings = DbSettings() settings = Settings() def config_logging(level=logging.INFO): logging.basicConfig( level=level, datefmt="%Y-%m-%d %H:%M:%S", format="[%(asctime)s.%(msecs)03d] %(module)-15s:%(lineno)4d | %(funcName)-20s| %(levelname)-8s | %(message)s", ) config_logging(level=logging.INFO)