Metadata-Version: 2.1
Name: sqla-wrapper
Version: 5.5
Summary: A framework-independent modern wrapper for SQLAlchemy & Alembic.
Home-page: https://github.com/jpsca/sqla-wrapper
Author: Juan-Pablo Scaletti
Author-email: juanpablo@jpscaletti.com
License: MIT
Project-URL: Documentation, https://sqla-wrapper.scaletti.dev/
Project-URL: Issue tracker, https://github.com/jpsca/sqla-wrapper/issues
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Database
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: <4.0,>=3.7
Description-Content-Type: text/markdown
Provides-Extra: test
Provides-Extra: dev
License-File: MIT-LICENSE

![SQLA-Wrapper](header.png)

A friendly wrapper for [modern SQLAlchemy](https://docs.sqlalchemy.org/en/14/glossary.html#term-2.0-style) (v1.4 or later) and Alembic.

**Documentation:** https://sqla-wrapper.scaletti.dev/

Includes:

- A SQLAlchemy wrapper, that does all the SQLAlchemy setup and gives you:
    - A scoped session extended with some useful active-record-like methods and pagination helper.
    - A declarative base class.
    - A helper for performant testing with a real database.

    ```python
    from sqla_wrapper import SQLAlchemy

    db = SQLAlchemy("sqlite:///db.sqlite", **options)
    # You can also use separated host, name, etc.
    # db = SQLAlchemy(user=…, password=…, host=…, port=…, name=…)
    ```

- An Alembic wrapper that loads the config from your application instead of from separated `alembic.ini` and `env.py` files.

    ```python
    from sqla_wrapper import Alembic, SQLAlchemy

    db = SQLAlchemy(…)
    alembic = Alembic(db, "db/migrations")
    ```



