]> 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 15:22:11 +0000 (10:22 -0500)
commite0f13cb6c1c3f44ebd110e8e32147d9f853146d4
tree9ba4ccdf224575259032ec6b773cd93b15412e2e
parente4b968aebc6a9b5ddc5523039f02049dadb0fe28
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
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