A curated list of awesome extra libraries for SQLAlchemy. Inspired by awesome-python.
Licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Table of Contents
- SQLAlchemy-Continuum
Versioning and auditing extension for SQLAlchemy.
- Creates versions for inserts, deletes and updates.
- Does not store updates which don't change anything.
- Supports alembic migrations.
- Can revert objects data as well as all object relations at given transaction even if the object was deleted.
- Transactions can be queried afterwards using SQLAlchemy query syntax.
- Query for changed records at given transaction.
- Temporal relationship reflection. Version object's relationship show the parent objects relationships as they where in that point in time.
- Supports native versioning for PostgreSQL database (trigger based versioning).
- SQLAlchemy-ORM-tree
- An implementation for SQLAlchemy-based applications of the nested-sets/modified-pre-order-tree-traversal technique for storing hierarchical data in a relational database.
- SQLAlchemy-Utils
- Various utility functions, new data types and helpers for SQLAlchemy.
- Alembic
- Alembic is a lightweight database migration tool for usage with the SQLAlchemy Database Toolkit for Python.
- sqlalchemy-migrate
- Inspired by Ruby on Rails' migrations, SQLAlchemy Migrate provides a way to deal with database schema changes in SQLAlchemy projects.
- redshift_sqlalchemy
- Amazon Redshift dialect for SQLAlchemy.
- sphinxalchemy
- SQLAlchemy dialect for iterfacing with Sphinx search engine via SphinxQL.
- SQLAlchemy-ImageAttach
- SQLAlchemy-ImageAttach is a SQLAlchemy extension for attaching images to entity objects.
- ColanderAlchemy
ColanderAlchemy helps you to auto-generate Colander schemas that are based on SQLAlchemy mapped classes.
Such Colander schemas can be used with libraries like Deform and helps remove the need for duplication of schema definitions.
- FormAlchemy
- FormAlchemy eliminates boilerplate by autogenerating HTML input fields from a given model. FormAlchemy will try to figure out what kind of HTML code should be returned by introspecting the model's properties and generate ready-to-use HTML code that will fit the developer's application.
- WTForms-Alchemy
- WTForms-Alchemy is a WTForms extension toolkit for easier creation of model based forms. Strongly influenced by Django ModelForm.
- SQLAlchemy-Searchable
- Full-text searchable models for SQLAlchemy. Only supports PostgreSQL.
- GeoAlchemy
GeoAlchemy provides extensions to SQLAlchemy to work with spatial databases.
The current supported spatial database systems are PostGIS, Spatialite, MySQL, Oracle, and MS SQL Server 2008.
- GeoAlchemy 2
GeoAlchemy 2 provides extensions to SQLAlchemy for working with spatial databases.
GeoAlchemy 2 focuses on PostGIS. PostGIS 1.5 and PostGIS 2 are supported.
GeoAlchemy 2 aims to be simpler than its predecessor, GeoAlchemy. Simpler to use, and simpler to maintain.
- SQLAlchemy-i18n
Internationalization extension for SQLAlchemy models.
- Stores translations in separate tables.
- Reflects translation table structures based on parent model table structure.
- Supports forcing of given locale.
- Good performance (uses proxy dicts and other advanced SQLAlchemy concepts for performance optimization).
- SQLTap
SQLTap is a library that allows you to profile and introspect the queries that your application makes using SQLAlchemy.
SQLTap helps you understand:
- how many times a sql query is executed
- how much time your sql queries take
- where your application is issuing sql queries from
- Flask-SQLAlchemy
- Flask-SQLAlchemy is an extension for Flask that adds support for SQLAlchemy to your application.
- Flask-SuperAdmin
- The admin interface framework for Flask. With scaffolding for SQLAlchemy, MongoEngine and Django.
- zope.sqlalchemy
- The aim of this package is to unify the plethora of existing packages integrating SQLAlchemy with Zope's transaction management. As such it seeks only to provide a data manager and makes no attempt to define a zopeish way to configure engines.