from __future__ import annotations from sqlalchemy import create_engine from sqlalchemy.orm import Session, sessionmaker from app.core.config import settings _kwargs = {"future": True} if settings.db_url.startswith("sqlite"): _kwargs["connect_args"] = {"check_same_thread": False} engine = create_engine(settings.db_url, **_kwargs) SessionLocal = sessionmaker(bind=engine, class_=Session, autoflush=False, autocommit=False, future=True) def get_session() -> Session: return SessionLocal()