]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
forwards-port cpython issue 141560 for getfullargspec
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 3 Feb 2026 13:53:53 +0000 (08:53 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 3 Feb 2026 22:12:37 +0000 (17:12 -0500)
commit8234f83f6a13cd3f49ccce818d3ecad66258caab
tree2d523d167c779f64050f493a88137a354973fbdc
parent7ca2a9db8f89d7754c2f1419d8ecdf61ac5cd2ac
forwards-port cpython issue 141560 for getfullargspec

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.

Fixes: #13104
References: https://github.com/python/cpython/issues/141560
Change-Id: I6af8026a07131d4a1e28cd7fc2e90509194ae957
(cherry picked from commit be37eb8d3061a316d82051d1a7eb670fc65b5fb0)
doc/build/changelog/unreleased_20/13104.rst [new file with mode: 0644]
lib/sqlalchemy/testing/requirements.py
lib/sqlalchemy/util/__init__.py
lib/sqlalchemy/util/compat.py
lib/sqlalchemy/util/langhelpers.py
test/base/test_typing_utils.py
test/orm/declarative/test_tm_future_annotations_sync.py
test/orm/declarative/test_typed_mapping.py