https://bugzilla.redhat.com/show_bug.cgi?id=2259519
Bug ID: 2259519 Summary: python-typing-extensions fails to build with Python 3.13: FAIL: test_protocol_issubclass_error_message, test_generic_protocols_special_from_protocol Product: Fedora Version: rawhide Status: NEW Component: python-typing-extensions Assignee: hegjon@gmail.com Reporter: ksurma@redhat.com QA Contact: extras-qa@fedoraproject.org CC: code@musicinmybrain.net, epel-packagers-sig@lists.fedoraproject.org, hegjon@gmail.com, ksurma@redhat.com, mail@fabian-affolter.ch, mhroncok@redhat.com, michel@michel-slm.name Blocks: 2244836 (PYTHON3.13) Target Milestone: --- Classification: Fedora
python-typing-extensions fails to build with Python 3.13.0a2.
+ /usr/bin/python3 -m unittest discover .......................................................................................................................................................s..s..s....................................................................F................................F...............................................................................................s........../builddir/build/BUILD/typing_extensions-4.9.0/src/test_typing_extensions.py:3507: DeprecationWarning: Failing to pass a value for the 'fields' parameter is deprecated and will be disallowed in Python 3.15. To create a TypedDict class with 0 fields using the functional syntax, pass an empty dictionary, e.g. `Emp = TypedDict('Emp', {})`. Emp = TypedDict('Emp', name=str, id=int) ...............s........ ====================================================================== FAIL: test_generic_protocols_special_from_protocol (test_typing_extensions.ProtocolTests.test_generic_protocols_special_from_protocol) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/typing_extensions-4.9.0/src/test_typing_extensions.py", line 3061, in test_generic_protocols_special_from_protocol self.assertEqual(typing_extensions._get_protocol_attrs(PR), {'x'}) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: Items in the first set but not the second: '__non_callable_proto_members__'
====================================================================== FAIL: test_protocol_issubclass_error_message (test_typing_extensions.ProtocolTests.test_protocol_issubclass_error_message) ---------------------------------------------------------------------- TypeError: Instance and class checks can only be used with @runtime_checkable protocols
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/builddir/build/BUILD/typing_extensions-4.9.0/src/test_typing_extensions.py", line 3471, in test_protocol_issubclass_error_message with self.assertRaisesRegex(TypeError, re.escape(expected_error_message)): issubclass(int, Vec2D) AssertionError: "Protocols\ with\ non-method\ members\ don't\ support\ issubclass().\ Non-method\ members:\ 'x',\ 'y'." does not match "Instance and class checks can only be used with @runtime_checkable protocols"
---------------------------------------------------------------------- Ran 385 tests in 0.113s
FAILED (failures=2, skipped=5)
https://docs.python.org/3.13/whatsnew/3.13.html
For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.13/fedora-ra...
For all our attempts to build python-typing-extensions with Python 3.13, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.13/package/python-t...
Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.13: https://copr.fedorainfracloud.org/coprs/g/python/python3.13/
Let us know here if you have any questions.
Python 3.13 is planned to be included in Fedora 41. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.13. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=2244836 [Bug 2244836] Python 3.13
https://bugzilla.redhat.com/show_bug.cgi?id=2259519
Jonny Heggheim hegjon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Link ID| |Github | |python/typing_extensions/is | |sues/326
--- Comment #1 from Jonny Heggheim hegjon@gmail.com --- Reported issue upstream.
https://bugzilla.redhat.com/show_bug.cgi?id=2259519
--- Comment #2 from Jonny Heggheim hegjon@gmail.com --- Fixed by upstream https://github.com/python/typing_extensions/commit/004b893ddce2a5743d9a4de3a... but not released yet
https://bugzilla.redhat.com/show_bug.cgi?id=2259519
--- Comment #4 from Michel Lind michel@michel-slm.name --- Upstream said it's fixed in 4.10.0, interestingly the 4.11.0 build is the first that passed, and then immediately failed again. There might still be other test failures that needs addressing upstream.
https://bugzilla.redhat.com/show_bug.cgi?id=2259519
Jonny Heggheim hegjon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Link ID| |Github | |python/typing_extensions/is | |sues/370
--- Comment #5 from Jonny Heggheim hegjon@gmail.com --- Added a new issue upstream
https://bugzilla.redhat.com/show_bug.cgi?id=2259519
--- Comment #6 from Jonny Heggheim hegjon@gmail.com --- Fixed in https://github.com/python/typing_extensions/pull/367 but it is not released yet
https://bugzilla.redhat.com/show_bug.cgi?id=2259519
Miro Hrončok mhroncok@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Priority|unspecified |urgent Version|40 |rawhide Severity|unspecified |urgent Summary|python-typing-extensions |python-typing-extensions |fails to build with Python |fails to build with Python |3.13: FAIL: |3.13: AttributeError: |test_protocol_issubclass_er |attribute '__default__' of |ror_message, |'typing.TypeVar' objects is |test_generic_protocols_spec |not writable |ial_from_protocol |
--- Comment #7 from Miro Hrončok mhroncok@redhat.com --- This is the current failure:
+ /usr/bin/python3 -m unittest discover E ====================================================================== ERROR: test_typing_extensions (unittest.loader._FailedTest.test_typing_extensions) ---------------------------------------------------------------------- ImportError: Failed to import test module: test_typing_extensions Traceback (most recent call last): File "/usr/lib64/python3.13/unittest/loader.py", line 396, in _find_test_path module = self._get_module_from_name(name) File "/usr/lib64/python3.13/unittest/loader.py", line 339, in _get_module_from_name __import__(name) ~~~~~~~~~~^^^^^^ File "/builddir/build/BUILD/typing_extensions-4.11.0/src/test_typing_extensions.py", line 1148, in <module> T_a = TypeVar('T_a') File "/builddir/build/BUILD/typing_extensions-4.11.0/src/typing_extensions.py", line 1418, in __new__ _set_default(typevar, default) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/typing_extensions-4.11.0/src/typing_extensions.py", line 1375, in _set_default type_param.__default__ = None ^^^^^^^^^^^^^^^^^^^^^^ AttributeError: attribute '__default__' of 'typing.TypeVar' objects is not writable
---------------------------------------------------------------------- Ran 1 test in 0.000s
FAILED (errors=1)
-----
This package is critical in the Python stack, blocks setuptools_scm, pytest, transitively hundreds of packages. We need to patch it soon.
https://bugzilla.redhat.com/show_bug.cgi?id=2259519
Karolina Surma ksurma@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |POST
--- Comment #8 from Karolina Surma ksurma@redhat.com --- Update to 4.12.0 should make it do: https://src.fedoraproject.org/rpms/python-typing-extensions/pull-request/14
https://bugzilla.redhat.com/show_bug.cgi?id=2259519
Miro Hrončok mhroncok@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed In Version| |python-typing-extensions-4. | |12.0-1.fc41 Status|POST |CLOSED Resolution|--- |RAWHIDE Last Closed| |2024-05-29 08:35:11
epel-packagers-sig@lists.fedoraproject.org