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