Download Latest Version 2.0.48 source code.tar.gz (5.1 MB)
Email in envelope

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

Home / rel_2_0_47
Name Modified Size InfoDownloads / Week
Parent folder
sqlalchemy-2.0.47-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp311-cp311-musllinux_1_2_aarch64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp310-cp310-musllinux_1_2_aarch64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp314-cp314t-musllinux_1_2_x86_64.whl 2026-02-24 3.5 MB
sqlalchemy-2.0.47-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 2026-02-24 3.5 MB
sqlalchemy-2.0.47-cp313-cp313t-musllinux_1_2_x86_64.whl 2026-02-24 3.5 MB
sqlalchemy-2.0.47-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 2026-02-24 3.5 MB
sqlalchemy-2.0.47-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp314-cp314-musllinux_1_2_x86_64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp313-cp313-musllinux_1_2_x86_64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp312-cp312-musllinux_1_2_x86_64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp311-cp311-musllinux_1_2_x86_64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp310-cp310-musllinux_1_2_x86_64.whl 2026-02-24 3.2 MB
SQLAlchemy-2.0.47-cp37-cp37m-musllinux_1_2_aarch64.whl 2026-02-24 3.0 MB
SQLAlchemy-2.0.47-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2026-02-24 3.0 MB
sqlalchemy-2.0.47-cp314-cp314-win32.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp314-cp314-win_amd64.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp313-cp313-win_amd64.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp313-cp313-win32.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp312-cp312-win_amd64.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp312-cp312-win32.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp39-cp39-musllinux_1_2_x86_64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp38-cp38-musllinux_1_2_x86_64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp314-cp314-musllinux_1_2_aarch64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp313-cp313-musllinux_1_2_aarch64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp312-cp312-musllinux_1_2_aarch64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp39-cp39-win_amd64.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp39-cp39-win32.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp38-cp38-win32.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp38-cp38-win_amd64.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-py3-none-any.whl 2026-02-24 1.9 MB
sqlalchemy-2.0.47-cp314-cp314t-win32.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp314-cp314t-win_amd64.whl 2026-02-24 2.2 MB
sqlalchemy-2.0.47-cp313-cp313t-win_amd64.whl 2026-02-24 2.2 MB
sqlalchemy-2.0.47-cp313-cp313t-win32.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp311-cp311-win32.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp311-cp311-win_amd64.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp310-cp310-win_amd64.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp310-cp310-win32.whl 2026-02-24 2.1 MB
sqlalchemy-2.0.47-cp313-cp313t-macosx_11_0_arm64.whl 2026-02-24 2.2 MB
sqlalchemy-2.0.47-cp314-cp314t-macosx_11_0_arm64.whl 2026-02-24 2.2 MB
sqlalchemy-2.0.47-cp314-cp314t-musllinux_1_2_aarch64.whl 2026-02-24 3.5 MB
sqlalchemy-2.0.47-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl 2026-02-24 3.6 MB
sqlalchemy-2.0.47-cp313-cp313t-musllinux_1_2_aarch64.whl 2026-02-24 3.5 MB
sqlalchemy-2.0.47-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl 2026-02-24 3.6 MB
SQLAlchemy-2.0.47-cp37-cp37m-musllinux_1_2_x86_64.whl 2026-02-24 3.0 MB
SQLAlchemy-2.0.47-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2026-02-24 3.0 MB
sqlalchemy-2.0.47-cp39-cp39-musllinux_1_2_aarch64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp38-cp38-musllinux_1_2_aarch64.whl 2026-02-24 3.2 MB
sqlalchemy-2.0.47-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl 2026-02-24 3.3 MB
sqlalchemy-2.0.47-cp39-cp39-macosx_11_0_arm64.whl 2026-02-24 2.2 MB
sqlalchemy-2.0.47-cp38-cp38-macosx_11_0_arm64.whl 2026-02-24 2.2 MB
sqlalchemy-2.0.47-cp314-cp314-macosx_11_0_arm64.whl 2026-02-24 2.2 MB
sqlalchemy-2.0.47-cp313-cp313-macosx_11_0_arm64.whl 2026-02-24 2.2 MB
sqlalchemy-2.0.47-cp312-cp312-macosx_11_0_arm64.whl 2026-02-24 2.2 MB
sqlalchemy-2.0.47-cp311-cp311-macosx_11_0_arm64.whl 2026-02-24 2.2 MB
sqlalchemy-2.0.47-cp310-cp310-macosx_11_0_arm64.whl 2026-02-24 2.2 MB
2.0.47 source code.tar.gz 2026-02-24 5.1 MB
2.0.47 source code.zip 2026-02-24 5.7 MB
README.md 2026-02-24 5.5 kB
Totals: 71 Items   202.2 MB 18

2.0.47

Released: February 24, 2026

orm

  • [orm] [bug] Fixed issue when using ORM mappings with Python 3.14's PEP 649 feature that no longer requires "future annotations", where the ORM's introspection of the __init__ method of mapped classes would fail if non-present identifiers in annotations were present. The vendored getfullargspec() method has been amended to use Format.FORWARDREF under Python 3.14 to prevent resolution of names that aren't present.

    References: #13104

engine

  • [engine] [usecase] The connection object returned by _engine.Engine.raw_connection() now supports the context manager protocol, automatically returning the connection to the pool when exiting the context.

    References: #13116

postgresql

  • [postgresql] [bug] Fixed an issue in the PostgreSQL dialect where foreign key constraint reflection would incorrectly swap or fail to capture onupdate and ondelete values when these clauses appeared in a different order than expected in the constraint definition. This issue primarily affected PostgreSQL-compatible databases such as CockroachDB, which may return ON DELETE before ON UPDATE in the constraint definition string. The reflection logic now correctly parses both clauses regardless of their ordering.

    References: #13105

  • [postgresql] [bug] Fixed issue in the engine_insertmanyvalues feature where using PostgreSQL's ON CONFLICT clause with _dml.Insert.returning.sort_by_parameter_order enabled would generate invalid SQL when the insert used an implicit sentinel (server-side autoincrement primary key). The generated SQL would incorrectly declare a sentinel counter column in the imp_sen table alias without providing corresponding values in the VALUES clause, leading to a ProgrammingError indicating column count mismatch. The fix allows batch execution mode when embed_values_counter is active, as the embedded counter provides the ordering capability needed even with upsert behaviors, rather than unnecessarily downgrading to row-at-a-time execution.

    References: #13107

  • [postgresql] [bug] Fixed issue where _postgresql.Insert.on_conflict_do_update() parameters were not respecting compilation options such as literal_binds=True. Pull request courtesy Loïc Simon.

    References: #13110

  • [postgresql] [bug] Fixed issue where _postgresql.Insert.on_conflict_do_update() using parametrized bound parameters in the set_ clause would fail when used with executemany batching. For dialects that use the use_insertmanyvalues_wo_returning optimization (psycopg2), insertmanyvalues is now disabled when there is an ON CONFLICT clause. For cases with RETURNING, row-at-a-time mode is used when the SET clause contains parametrized bindparams (bindparams that receive values from the parameters dict), ensuring each row's parameters are correctly applied. ON CONFLICT statements using expressions like excluded.<column> continue to batch normally.

    References: #13130

mysql

  • [mysql] [bug] Fixed issue where DDL compilation options were registered to the hard-coded dialect name mysql. This made it awkward for MySQL-derived dialects like MariaDB, StarRocks, etc. to work with such options when different sets of options exist for different platforms. Options are now registered under the actual dialect name, and a fallback was added to help avoid errors when an option does not exist for that dialect.

    To maintain backwards compatibility, when using the MariaDB dialect with the options mysql_with_parser or mysql_using without also specifying the corresponding mariadb_ prefixed options, a deprecation warning will be emitted. The mysql_ prefixed options will continue to work during the deprecation period. Users should update their code to additionally specify mariadb_with_parser and mariadb_using when using the mariadb:// dialect, or specify both options to support both dialects.

    Pull request courtesy Tiansu Yu.

    References: #13134

sqlite

  • [sqlite] [bug] Fixed issue where _sqlite.Insert.on_conflict_do_update() parameters were not respecting compilation options such as literal_binds=True. Pull request courtesy Loïc Simon.

    References: #13110

  • [sqlite] [bug] Fixed issue where _sqlite.Insert.on_conflict_do_update() using parametrized bound parameters in the set_ clause would fail when used with executemany batching. Row-at-a-time mode is now used for ON CONFLICT statements with RETURNING that contain parametrized bindparams, ensuring each row's parameters are correctly applied. ON CONFLICT statements using expressions like excluded.<column> continue to batch normally.

    References: #13130

Source: README.md, updated 2026-02-24