Skip to content

pyuow.contrib.sqlalchemy

SQLAlchemy 2.x integration. Requires the sqlalchemy extra:

pip install "pyuow[sqlalchemy]"

Tables

tables

BaseTable

Bases: MappedAsDataclass, DeclarativeBase

EntityTable

Bases: BaseTable

AuditedEntityTable

Bases: EntityTable

SoftDeletableEntityTable

Bases: EntityTable

VersionedEntityTable

Bases: EntityTable

Sync work

work

SqlAlchemyTransaction

SqlAlchemyTransaction(
    transaction_provider: TRANSACTION_PROVIDER,
)

Bases: BaseTransaction[Session]

SqlAlchemyTransactionManager

SqlAlchemyTransactionManager(engine: Engine)

SqlAlchemyReadOnlyTransactionManager

SqlAlchemyReadOnlyTransactionManager(engine: Engine)

Sync repository

repository

BaseSqlAlchemyEntityRepository

BaseSqlAlchemyEntityRepository(
    table: Type[ENTITY_TABLE],
    transaction_manager: SqlAlchemyTransactionManager,
    readonly_transaction_manager: SqlAlchemyReadOnlyTransactionManager,
)

Bases: Generic[ENTITY_ID, ENTITY_TYPE, ENTITY_TABLE], BaseEntityRepository[ENTITY_ID, ENTITY_TYPE], ABC

BaseSqlAlchemyRepositoryFactory

BaseSqlAlchemyRepositoryFactory(
    transaction_manager: SqlAlchemyTransactionManager,
    readonly_transaction_manager: SqlAlchemyReadOnlyTransactionManager,
)

Bases: BaseRepositoryFactory, ABC

Async work

work

SqlAlchemyTransaction

SqlAlchemyTransaction(
    transaction_provider: TRANSACTION_PROVIDER,
)

Bases: BaseTransaction[AsyncSession]

SqlAlchemyTransactionManager

SqlAlchemyTransactionManager(engine: AsyncEngine)

Bases: BaseTransactionManager[SqlAlchemyTransaction]

SqlAlchemyReadOnlyTransactionManager

SqlAlchemyReadOnlyTransactionManager(engine: AsyncEngine)

Async repository

repository

BaseSqlAlchemyEntityRepository

BaseSqlAlchemyEntityRepository(
    table: Type[ENTITY_TABLE],
    transaction_manager: SqlAlchemyTransactionManager,
    readonly_transaction_manager: SqlAlchemyReadOnlyTransactionManager,
)

Bases: Generic[ENTITY_ID, ENTITY_TYPE, ENTITY_TABLE], BaseEntityRepository[ENTITY_ID, ENTITY_TYPE], ABC

BaseSqlAlchemyRepositoryFactory

BaseSqlAlchemyRepositoryFactory(
    transaction_manager: SqlAlchemyTransactionManager,
    readonly_transaction_manager: SqlAlchemyReadOnlyTransactionManager,
)

Bases: BaseRepositoryFactory, ABC