alembic
A database migration tool for SQLAlchemy.
Install
alembic on PyPI
pip
pip install alembicuv
uv add alembicpoetry
poetry add alembicPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — SQLAlchemy, Mako, typing-extensions, tomli |
| Maintenance | actively maintained — 5 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: alembic-1.19.1-py3-none-any.whl
About alembic
from the package's own PyPI description — quoted content, verbatim
Alembic is a database migrations tool written by the author
of SQLAlchemy <http://www.sqlalchemy.org>_. A migrations tool
offers the following functionality:
- Can emit ALTER statements to a database in order to change the structure of tables and other constructs
- Provides a system whereby "migration scripts" may be constructed; each script indicates a particular series of steps that can "upgrade" a target database to a new version, and optionally a series of steps that can "downgrade" similarly, doing the same steps in reverse.
- Allows the scripts to execute in some sequential manner.
The goals of Alembic are:
- Very open ended and transparent configuration and operation. A new Alembic environment is generated from a set of templates which is selected among a set of options when setup first occurs. The templates then deposit a series of scripts that define fully how database connectivity is established and how migration scripts are invoked; the migration scripts themselves are generated from a template within that series of scripts. The scripts can then be further customized to define exactly how databases will be interacted with and what...
Read as markdown · JSON record · Source repository · Homepage · Docs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Alembic is a database migrations tool that generates and manages schema changes for SQLAlchemy-backed applications, supporting both automatic migration generation from model changes and manual migration scripts with full transactional DDL support.
Low friction install with a pure-Python wheel. Alembic is actively maintained with a recent release (5 days old), strong community engagement (4320 GitHub stars), and current Python support through 3.15. Its four runtime dependencies (SQLAlchemy, Mako, typing-extensions, tomli) are all stable, widely-used libraries.
Alembic is distributed under the MIT license, a permissive open-source license that allows free use, modification, and distribution in both open-source and proprietary projects with minimal restrictions.
Usage
pip install alembic
from alembic.config import Config
from alembic import command
config = Config('alembic.ini')
command.upgrade(config, 'head')
Requires SQLAlchemy to be installed and configured; a database connection and alembic.ini configuration file must be set up before migrations can run.
Verdict: Alembic is a production-stable, actively maintained database migration tool with low install friction and strong community adoption. Its MIT license poses no restrictions for most use cases. The tool is well-suited for any SQLAlchemy project requiring schema versioning, with no known security vulnerabilities and broad Python version support.
Needs verification
- Whether the package's auto-generation feature works reliably for complex schema changes in real-world projects
- Performance characteristics when managing large numbers of migration files or complex dependency graphs
Similar packages
permissive · top 1,000 on PyPI
SQLAlchemypermissive · top 100 on PyPI
daffpermissive · top 1,000 on PyPI
texttablepermissive · top 1,000 on PyPI
databricks-sqlalchemypermissive · top 1,000 on PyPI
opentelemetry-instrumentation-sqlalchemypermissive · top 1,000 on PyPI
Makopermissive · top 1,000 on PyPI
Flask-SQLAlchemypermissive · top 1,000 on PyPI
opentelemetry-instrumentation-psycopg2permissive · top 1,000 on PyPI
snowflake-sqlalchemypermissive · top 1,000 on PyPI