1
0
mirror of https://github.com/ijaric/voice_assistant.git synced 2025-05-24 22:43:26 +00:00
voice_assistant/src/fastapi_app/lib/clients/postgres.py
2023-09-27 19:44:48 +01:00

25 lines
697 B
Python

import sqlalchemy.ext.asyncio as sa_asyncio
import lib.app.split_settings as app_split_settings
async def get_async_session(
settings: app_split_settings.DBSettings,
) -> sa_asyncio.async_sessionmaker[sa_asyncio.AsyncSession]:
engine = sa_asyncio.create_async_engine(
url=settings.dsn,
pool_size=settings.pool_size,
pool_pre_ping=settings.pool_pre_ping,
echo=settings.echo,
future=True,
)
async_session = sa_asyncio.async_sessionmaker(
bind=engine,
autocommit=settings.auto_commit,
autoflush=settings.auto_flush,
expire_on_commit=settings.expire_on_commit,
)
return async_session # noqa: RET504