SQLAlchemy Extensions, Plug-ins and Related Libraries

SQLAlchemy is a Python library for interacting with databases either through SQL or with an object-relational mapper (ORM).

SQLAlchemy logo.

The following projects augment SQLAlchemy's capabilities by providing functionality not included with the library itself. For example, the Alembic project makes it easier to perform database schema migrations, which is frequently needed as applications evolve and need to store additional data.

Alembic

Alembic (project documentation and PyPI information) is a data migrations tool used with SQLAlchemy to make database schema changes. The Alembic project is open sourced under the MIT license.

flask-base

flask-base (project documentation) provides boilerplate code for new Flask web apps. The purpose of the boilerplate is to stitch together disparate libraries that are commonly used in Flask projects, such as Redis for fast caching and transient data storage, SendGrid for transactional email, SQLAlchemy for persistent data storage through a relational database back end, Flask-WTF for form handling, and many others.

flask-base is provided as open source under the MIT license.

flask-sqlalchemy

flask-sqlalchemy (project documentation and PyPI information) is a Flask extension that makes it easier to use SQLAlchemy when building Flask apps. flask-sqlalchemy provides helper functions that reduce the amount of common boilerplate code that you have to frequently write yourself if you did not use this library when combining Flask with SQLAlchemy.

flask-sqlalchemy is provided as open source under the BSD 3-Clause "New" or "Revised" License.

GINO

GINO (project documentation and PyPI package information) is an object-relational mapper (ORM) built on SQLAlchemy that is non-blocking and therefore designed to work properly with asynchronously-run code, for example, an application written with asyncio.

GINO is open sourced under the BSD License.

marshmallow-sqlalchemy

marshmallow-sqlalchemy (project documentation and PyPI package information) is a code library that makes it easier to use SQLAlchemy with the Marshmallow data serialization tool.

The marshmallow-sqlalchemy project is provided as open source under the MIT license.

sqlalchemy-utils

sqlalchemy-utils (project documentation and PyPI package information) is a code library with various helper functions and new data types that make it easier to use SQLAlchemy when building projects that involve more specific storage requirements such as currency. The wide array of data types includes ranged values and aggregated attributes.


Matt Makai 2012-2020