SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.
It provides a full suite of well known enterprise-level persistence patterns, designed for efficient and high-performing database access, adapted into a simple and Pythonic domain language.
SQLAlchemy is free and open source software.
Key Features
- Industrial strength ORM, built from the core on the identity map, unit of work, and data mapper patterns. These patterns allow transparent persistence of objects using a declarative configuration system. Domain models can be constructed and manipulated naturally, and changes are synchronized with the current transaction automatically.
- Two distinct components, known as the Core and the ORM. The Core is itself a fully featured SQL abstraction toolkit, providing a smooth layer of abstraction over a wide variety of DBAPI implementations and behaviors, as well as a SQL Expression Language which allows expression of the SQL language via generative Python expressions. A schema representation system that can both emit DDL statements as well as introspect existing schemas, and a type system that allows any mapping of Python types to database types, rounds out the system. The Object Relational Mapper is then an optional package which builds upon the Core.
- Mature, high performing architecture.
- DBA Approved
- The Unit Of Work system, a central part of SQLAlchemy’s Object Relational Mapper (ORM), organizes pending insert/update/delete operations into queues and flushes them all in one batch.
- Function-based query construction allows SQL clauses to be built via Python functions and expressions.
- Modular and extensible.
- Separate mapping and class design.
- Eager-loading and caching of related objects and collections.
- Composite (multiple-column) primary keys.
- Self-referential Object Mappings.
- Inheritance Mapping.
- Raw SQL statement mapping.
- Pre- and post-processing of data.
- Includes dialects for SQLite, Postgresql, MySQL, Oracle, MS-SQL, Firebird, Sybase and others, most of which support multiple DBAPIs.
Website: www.sqlalchemy.org
Support: GitHub Code Repository
Developer: Michael Bayer and many contributors
License: MIT License
SQLAlchemy is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Python Object-Relational Mapping Software | |
|---|---|
| Django | High-level web application framework that has a powerful ORM |
| SQLAlchemy | Python SQL Toolkit and Object Relational Mapper |
| Peewee | Simple, small and expressive Object Relational Mapper. It has few concepts |
| Tortoise | Easy-to-use asyncio ORM inspired by Django |
| Pony | Billed as the smartest Python ORM |
| SQLObject | Forms a part of many applications including TurboGears |
| Storm | Designed to work with thin relational databases and big systems |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Know a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

