Download Latest Version 2.0.49 source code.tar.gz (5.2 MB)
Email in envelope

Get an email when there's a new version of SQLAlchemy

Home / rel_2_0_49
Name Modified Size InfoDownloads / Week
Parent folder
sqlalchemy-2.0.49-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp314-cp314-musllinux_1_2_x86_64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp313-cp313-musllinux_1_2_x86_64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp312-cp312-musllinux_1_2_x86_64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl < 19 hours ago 3.4 MB
sqlalchemy-2.0.49-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp39-cp39-musllinux_1_2_x86_64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp38-cp38-musllinux_1_2_x86_64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp314-cp314-musllinux_1_2_aarch64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp313-cp313-musllinux_1_2_aarch64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp312-cp312-musllinux_1_2_aarch64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp314-cp314t-musllinux_1_2_x86_64.whl < 19 hours ago 3.5 MB
sqlalchemy-2.0.49-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl < 19 hours ago 3.5 MB
sqlalchemy-2.0.49-cp313-cp313t-musllinux_1_2_x86_64.whl < 19 hours ago 3.5 MB
sqlalchemy-2.0.49-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl < 19 hours ago 3.5 MB
sqlalchemy-2.0.49-cp314-cp314-win32.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp314-cp314-win_amd64.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp313-cp313-win32.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp313-cp313-win_amd64.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp312-cp312-win_amd64.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp312-cp312-win32.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp39-cp39-musllinux_1_2_aarch64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp38-cp38-musllinux_1_2_aarch64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp314-cp314t-win32.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp314-cp314t-win_amd64.whl < 19 hours ago 2.2 MB
sqlalchemy-2.0.49-cp313-cp313t-win_amd64.whl < 19 hours ago 2.2 MB
sqlalchemy-2.0.49-cp313-cp313t-win32.whl < 19 hours ago 2.1 MB
SQLAlchemy-2.0.49-cp37-cp37m-musllinux_1_2_x86_64.whl < 19 hours ago 3.1 MB
SQLAlchemy-2.0.49-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl < 19 hours ago 3.1 MB
sqlalchemy-2.0.49-cp311-cp311-win_amd64.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp311-cp311-win32.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp310-cp310-win32.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp310-cp310-win_amd64.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp314-cp314t-musllinux_1_2_aarch64.whl < 19 hours ago 3.5 MB
sqlalchemy-2.0.49-cp313-cp313t-musllinux_1_2_aarch64.whl < 19 hours ago 3.5 MB
sqlalchemy-2.0.49-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl < 19 hours ago 3.6 MB
sqlalchemy-2.0.49-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl < 19 hours ago 3.6 MB
sqlalchemy-2.0.49-cp311-cp311-musllinux_1_2_x86_64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp310-cp310-musllinux_1_2_x86_64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp39-cp39-win_amd64.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp38-cp38-win_amd64.whl < 19 hours ago 2.2 MB
sqlalchemy-2.0.49-cp39-cp39-win32.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp38-cp38-win32.whl < 19 hours ago 2.1 MB
sqlalchemy-2.0.49-cp311-cp311-musllinux_1_2_aarch64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp310-cp310-musllinux_1_2_aarch64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl < 19 hours ago 3.3 MB
sqlalchemy-2.0.49-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl < 19 hours ago 3.2 MB
sqlalchemy-2.0.49-py3-none-any.whl < 19 hours ago 1.9 MB
sqlalchemy-2.0.49-cp314-cp314-macosx_11_0_arm64.whl < 19 hours ago 2.2 MB
sqlalchemy-2.0.49-cp313-cp313-macosx_11_0_arm64.whl < 19 hours ago 2.2 MB
sqlalchemy-2.0.49-cp312-cp312-macosx_11_0_arm64.whl < 19 hours ago 2.2 MB
sqlalchemy-2.0.49-cp311-cp311-macosx_11_0_arm64.whl < 19 hours ago 2.2 MB
sqlalchemy-2.0.49-cp310-cp310-macosx_11_0_arm64.whl < 19 hours ago 2.2 MB
sqlalchemy-2.0.49-cp314-cp314t-macosx_11_0_arm64.whl < 19 hours ago 2.2 MB
sqlalchemy-2.0.49-cp313-cp313t-macosx_11_0_arm64.whl < 19 hours ago 2.2 MB
sqlalchemy-2.0.49-cp39-cp39-macosx_11_0_arm64.whl < 19 hours ago 2.2 MB
sqlalchemy-2.0.49-cp38-cp38-macosx_11_0_arm64.whl < 19 hours ago 2.2 MB
SQLAlchemy-2.0.49-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl < 19 hours ago 3.0 MB
SQLAlchemy-2.0.49-cp37-cp37m-musllinux_1_2_aarch64.whl < 19 hours ago 3.0 MB
2.0.49 source code.tar.gz < 19 hours ago 5.2 MB
2.0.49 source code.zip < 19 hours ago 5.7 MB
README.md < 19 hours ago 5.4 kB
Totals: 71 Items   202.3 MB 0

2.0.49

Released: April 3, 2026

orm

  • [orm] [bug] Fixed issue where _orm.Session.get() would bypass the identity map and emit unnecessary SQL when with_for_update=False was passed, rather than treating it equivalently to the default of None. Pull request courtesy of Joshua Swanson.

    References: #13176

  • [orm] [bug] Fixed issue where chained _orm.joinedload() options would not be applied correctly when the final relationship in the chain is declared on a base mapper and accessed through a subclass mapper in a _orm.with_polymorphic() query. The path registry now correctly computes the natural path when a property declared on a base class is accessed through a path containing a subclass mapper, ensuring the loader option can be located during query compilation.

    References: #13193

  • [orm] [bug] [inheritance] Fixed issue where using _orm.Load.options() to apply a chained loader option such as _orm.joinedload() or _orm.selectinload() with _orm.PropComparator.of_type() for a polymorphic relationship would not generate the necessary clauses for the polymorphic subclasses. The polymorphic loading strategy is now correctly propagated when using a call such as joinedload(A.b).options(joinedload(B.c.of_type(poly))) to match the behavior of direct chaining e.g. joinedload(A.b).joinedload(B.c.of_type(poly)).

    References: #13202

  • [orm] [bug] [inheritance] Fixed issue where using chained loader options such as _orm.selectinload() after _orm.joinedload() with _orm.PropComparator.of_type() for a polymorphic relationship would not properly apply the chained loader option. The loader option is now correctly applied when using a call such as joinedload(A.b.of_type(poly)).selectinload(poly.SubClass.c) to eagerly load related objects.

    References: #13209

typing

  • [typing] [bug] Fixed a typing issue where the typed members of :data:.func would return the appropriate class of the same name, however this creates an issue for typecheckers such as Zuban and pyrefly that assume PEP 749 style typechecking even if the file states that it's a PEP 563 file; they see the returned name as indicating the method object and not the class object. These typecheckers are actually following along with an upcoming test harness that insists on PEP 749 style name resolution for this case unconditionally. Since PEP 749 is the way of the future regardless, differently-named type aliases have been added for these return types.

    Unknown interpreted text role "data".

    References: #13167

postgresql

  • [postgresql] [bug] Fixed regular expression used when reflecting foreign keys in PostgreSQL to support escaped quotes in table names. Pull request courtesy of Austin Graham

    References: #10902

mssql

  • [mssql] [usecase] Enhanced the aioodbc dialect to expose the fast_executemany attribute of the pyodbc cursor. This allows the fast_executemany parameter to work with the mssql+aioodbc dialect. Pull request courtesy Georg Sieber.

    References: #13152

  • [mssql] [usecase] Remove warning for SQL Server dialect when a new version is detected. The warning was originally added more than 15 years ago due to an unexpected value returned when using an old version of FreeTDS. The assumption is that since then the issue has been resolved, so make the SQL Server dialect behave like the other ones that don't have an upper bound check on the version number.

    References: #13185

  • [mssql] [bug] [reflection] Fixed regression from version 2.0.42 caused by #12654 where the updated column reflection query would receive SQL Server "type alias" names for special types such as sysname, whereas previously the base name would be received (e.g. nvarchar for sysname), leading to warnings that such types could not be reflected and resulting in NullType, rather than the expected NVARCHAR for a type like sysname. The column reflection query now joins sys.types a second time to look up the base type when the user type name is not present in MSDialect.ischema_names, and both names are checked in MSDialect.ischema_names for a match. Pull request courtesy Carlos Serrano.

    References: #13181, #13182

oracle

  • [oracle] [bug] Fixed issue in Oracle dialect where the _oracle.RAW datatype would not reflect the length parameter. Pull request courtesy Daniel Sullivan.

    References: #13150

Source: README.md, updated 2026-04-03