Skip to main content

A thin async wrapper for SQLAlchemy sessions.

Project description

AsyncAlchemy

A thin async wrapper for SQLAlchemy sessions.

Besides being async, the wrapper manages the context of the session for the execution block.Commits incoming changes if successfull or rolls back changes if an exceptions occurs.
Note: The upcoming SQLAlchemy 1.4 version will include built-in async functionality, it's recommended to upgrade to it once it's released.

Install

Pip

pip install asyncalchemy

From Source

The project uses poetry for dependency management and packaging.
To run from source clone project and:

pip install poetry
poetry install

Usage

Basic Example

from asyncalchemy import create_session_factory

# Create AsyncAlchemy session factory
session_factory = create_session_factory(db_uri, Base)

# Create session
async with session_factory() as session:
    await session.query(Something).filter_by(something="else")

Example With Extra Params

from sqlalchemy.pool import NullPool

from asyncalchemy import create_session_factory

# Create session factory with additional SQLAlchemy params
session_factory = create_session_factory(db_uri, Base, poolclass=NullPool)

# Create session
async with session_factory() as session:
    await second_session.add(Something)
    await second_session.flush()

    # Reuse session
    async with session_factory(reuse_session=session) as second_session:
        await session.delete(Something)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asyncalchemy-1.1.4.tar.gz (8.3 kB view hashes)

Uploaded Source

Built Distribution

asyncalchemy-1.1.4-py3-none-any.whl (9.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page