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-rawhide-x86_64/06924398-python-typing-extensions/ 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-typing-extensions/ 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.
Reported issue upstream.
Fixed by upstream https://github.com/python/typing_extensions/commit/004b893ddce2a5743d9a4de3a97ef5c48882d384 but not released yet
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle. Changing version to 40.
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.
Added a new issue upstream
Fixed in https://github.com/python/typing_extensions/pull/367 but it is not released yet
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.
Update to 4.12.0 should make it do: https://src.fedoraproject.org/rpms/python-typing-extensions/pull-request/14