from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine from sqlalchemy.orm import sessionmaker, declarative_base from contextlib import asynccontextmanager from dotenv import load_dotenv import os load_dotenv() DATABASE_URL = os.getenv("DATABASE_URL") async_engine = create_async_engine(DATABASE_URL, echo=False, future=True) AsyncSessionLocal = sessionmaker(bind=async_engine, class_=AsyncSession, expire_on_commit=False) Base = declarative_base() @asynccontextmanager async def get_session(): async with AsyncSessionLocal() as session: yield session