Download Latest Version 2.0.43 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_42
Name Modified Size InfoDownloads / Week
Parent folder
sqlalchemy-2.0.42-cp39-cp39-macosx_11_0_arm64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp39-cp39-macosx_10_9_x86_64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp38-cp38-macosx_10_9_x86_64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp38-cp38-macosx_11_0_arm64.whl 2025-07-29 2.1 MB
SQLAlchemy-2.0.42-cp37-cp37m-macosx_10_9_x86_64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp39-cp39-musllinux_1_2_x86_64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp38-cp38-musllinux_1_2_x86_64.whl 2025-07-29 3.2 MB
SQLAlchemy-2.0.42-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2025-07-29 3.0 MB
SQLAlchemy-2.0.42-cp37-cp37m-musllinux_1_2_x86_64.whl 2025-07-29 3.0 MB
sqlalchemy-2.0.42-cp39-cp39-win32.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp39-cp39-win_amd64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp38-cp38-win32.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp38-cp38-win_amd64.whl 2025-07-29 2.1 MB
SQLAlchemy-2.0.42-cp37-cp37m-win_amd64.whl 2025-07-29 2.1 MB
SQLAlchemy-2.0.42-cp37-cp37m-win32.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp313-cp313-macosx_11_0_arm64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp313-cp313-macosx_10_13_x86_64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp312-cp312-macosx_11_0_arm64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp312-cp312-macosx_10_13_x86_64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp311-cp311-musllinux_1_2_aarch64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp310-cp310-musllinux_1_2_aarch64.whl 2025-07-29 3.1 MB
sqlalchemy-2.0.42-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2025-07-29 3.3 MB
sqlalchemy-2.0.42-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp39-cp39-musllinux_1_2_aarch64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp38-cp38-musllinux_1_2_aarch64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2025-07-29 3.2 MB
SQLAlchemy-2.0.42-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2025-07-29 3.0 MB
SQLAlchemy-2.0.42-cp37-cp37m-musllinux_1_2_aarch64.whl 2025-07-29 3.0 MB
sqlalchemy-2.0.42-cp313-cp313-musllinux_1_2_aarch64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp312-cp312-musllinux_1_2_aarch64.whl 2025-07-29 3.3 MB
sqlalchemy-2.0.42-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2025-07-29 3.3 MB
sqlalchemy-2.0.42-cp311-cp311-macosx_10_9_x86_64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp311-cp311-macosx_11_0_arm64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp310-cp310-macosx_11_0_arm64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp310-cp310-macosx_10_9_x86_64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2025-07-29 3.3 MB
sqlalchemy-2.0.42-cp311-cp311-musllinux_1_2_x86_64.whl 2025-07-29 3.3 MB
sqlalchemy-2.0.42-cp310-cp310-musllinux_1_2_x86_64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp311-cp311-win_amd64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp310-cp310-win_amd64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp311-cp311-win32.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp310-cp310-win32.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp313-cp313-musllinux_1_2_x86_64.whl 2025-07-29 3.2 MB
sqlalchemy-2.0.42-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2025-07-29 3.3 MB
sqlalchemy-2.0.42-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2025-07-29 3.3 MB
sqlalchemy-2.0.42-cp312-cp312-musllinux_1_2_x86_64.whl 2025-07-29 3.3 MB
sqlalchemy-2.0.42-cp313-cp313-win_amd64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp312-cp312-win_amd64.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp313-cp313-win32.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-cp312-cp312-win32.whl 2025-07-29 2.1 MB
sqlalchemy-2.0.42-py3-none-any.whl 2025-07-29 1.9 MB
2.0.42 source code.tar.gz 2025-07-29 5.1 MB
2.0.42 source code.zip 2025-07-29 5.6 MB
README.md 2025-07-29 6.7 kB
Totals: 59 Items   159.4 MB 0

2.0.42

Released: July 29, 2025

orm

  • [orm] [usecase] Added dataclass_metadata argument to all ORM attribute constructors that accept dataclasses parameters, e.g. mapped_column.dataclass_metadata, relationship.dataclass_metadata, etc. It's passed to the underlying dataclass metadata attribute of the dataclass field. Pull request courtesy Sigmund Lahn.

    References: #10674

  • [orm] [bug] Implemented the _orm.defer(), _orm.undefer() and _orm.load_only() loader options to work for composite attributes, a use case that had never been supported previously.

    References: #12593

  • [orm] [bug] Fixed bug where the ORM would pull in the wrong column into an UPDATE when a key name inside of the ValuesBase.values() method could be located from an ORM entity mentioned in the statement, but where that ORM entity was not the actual table that the statement was inserting or updating. An extra check for this edge case is added to avoid this problem.

    References: #12692

engine

  • [engine] Improved validation of execution parameters passed to the _engine.Connection.execute() and similar methods to provided a better error when tuples are passed in. Previously the execution would fail with a difficult to understand error message.

sql

  • [sql] [usecase] The _sql.values() construct gains a new method _sql.Values.cte(), which allows creation of a named, explicit-columns CTE against an unnamed VALUES expression, producing a syntax that allows column-oriented selection from a VALUES construct on modern versions of PostgreSQL, SQLite, and MariaDB.

    References: #12734

  • [sql] [bug] Fixed issue where select() of a free-standing scalar expression that has a unary operator applied, such as negation, would not apply result processors to the selected column even though the correct type remains in place for the unary expression.

    References: #12681

  • [sql] [bug] Hardening of the compiler's actions for UPDATE statements that access multiple tables to report more specifically when tables or aliases are referenced in the SET clause; on cases where the backend does not support secondary tables in the SET clause, an explicit error is raised, and on the MySQL or similar backends that support such a SET clause, more specific checking for not-properly-included tables is performed. Overall the change is preventing these erroneous forms of UPDATE statements from being compiled, whereas previously it was relied on the database to raise an error, which was not always guaranteed to happen, or to be non-ambiguous, due to cases where the parent table included the same column name as the secondary table column being updated.

    References: #12692

postgresql

  • [postgresql] [usecase] Added support for PostgreSQL 14+ JSONB subscripting syntax. When connected to PostgreSQL 14 or later, JSONB columns now automatically use the native subscript notation jsonb_col['key'] instead of the arrow operator jsonb_col -> 'key' for both read and write operations. This provides better compatibility with PostgreSQL's native JSONB subscripting feature while maintaining backward compatibility with older PostgreSQL versions. JSON columns continue to use the traditional arrow syntax regardless of PostgreSQL version.

    References: #10927

  • [postgresql] [usecase] Added postgresql_ops key to the dialect_options entry in reflected dictionary. This maps names of columns used in the index to respective operator class, if distinct from the default one for column's data type. Pull request courtesy Denis Laxalde.

    References: #8664

  • [postgresql] [bug] [reflection] Fixed regression caused by #10665 where the newly modified constraint reflection query would fail on older versions of PostgreSQL such as version 9.6. Pull request courtesy Denis Laxalde.

    References: #12600

  • [postgresql] [bug] Re-raise catched CancelledError in the terminate method of the asyncpg dialect to avoid possible hangs of the code execution.

    References: #12728

  • [postgresql] [bug] [reflection] Fixes bug that would mistakenly interpret a domain or enum type with name starting in interval as an INTERVAL type while reflecting a table.

    References: #12744

mysql

  • [mysql] [bug] Fixed yet another regression caused by by the DEFAULT rendering changes in 2.0.40 #12425, similar to #12488, this time where using a CURRENT_TIMESTAMP function with a fractional seconds portion inside a textual default value would also fail to be recognized as a non-parenthesized server default.

    References: #12648

mssql

  • [mssql] [bug] Reworked SQL Server column reflection to be based on the sys.columns table rather than information_schema.columns view. By correctly using the SQL Server object_id() function as a lead and joining to related tables on object_id rather than names, this repairs a variety of issues in SQL Server reflection, including:
    -   Issue where reflected column comments would not correctly line up
        with the columns themselves in the case that the table had been ALTERed
    
    -   Correctly targets tables with awkward names such as names with brackets,
        when reflecting not just the basic table / columns but also extended
        information including IDENTITY, computed columns, comments which
        did not work previously
    
    -   Correctly targets IDENTITY, computed status from temporary tables
        which did not work previously
    

    References: #12654

Source: README.md, updated 2025-07-29