Skip to content

Installation

PyUoW is on PyPI and supports Python 3.10 through 3.14.

Core install

pip install pyuow

With SQLAlchemy integration

The SQLAlchemy adapter is shipped as an optional extra. Install both at once:

pip install "pyuow[sqlalchemy]"

This pulls in SQLAlchemy 2.x and unlocks the modules under pyuow.contrib.sqlalchemy (sync and async). See SQLAlchemy integration for usage.

Using Poetry

poetry add pyuow
# or with the sqlalchemy extra
poetry add 'pyuow[sqlalchemy]'

Using uv

uv add pyuow
# or
uv add 'pyuow[sqlalchemy]'

Async support

There is nothing extra to install — every module that needs an async equivalent ships one under a sibling aio/ package, for example:

Sync Async
pyuow.unit pyuow.unit.aio (also pyuow.aio)
pyuow.work.transactional pyuow.work.aio.transactional
pyuow.repository pyuow.repository.aio
pyuow.contrib.sqlalchemy.work pyuow.contrib.sqlalchemy.aio.work
pyuow.contrib.sqlalchemy.repository pyuow.contrib.sqlalchemy.aio.repository

See Async support for the conventions.

Verifying the install

import pyuow
print(pyuow.Result.ok(42))
# Result.ok(42)