skillfed

alembic

A database migration tool for SQLAlchemy.

alembic Permissive license MIT Active 4,320 v1.19.1 released

Install

alembic on PyPI

pip

pip install alembic

uv

uv add alembic

poetry

poetry add alembic

Package 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

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Database :: Front-Ends

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
database schema migrationsSQLAlchemy database versioningauto-generate database migrationsDDL change managementdatabase upgrade downgrade scriptstransactional database migrationsalembic migrations tool

Similar packages