In 4.9.0 the `deprecated` decorator was introduced as the final form in PEP702 [1]. This one is important to update because unlike other parts of the package, this has a runtime component and cannot be guarded by `if TYPE_CHECKING`. This will become a major blocker as people start using this feature to advertise deprecated APIs. [1]: https://typing-extensions.readthedocs.io/en/latest/#typing_extensions.deprecated Reproducible: Always
I just proposed and impact-checked such an update in https://src.fedoraproject.org/rpms/python-typing-extensions/pull-request/16.
(In reply to Ben Beasley from comment #1) > I just proposed and impact-checked such an update in > https://src.fedoraproject.org/rpms/python-typing-extensions/pull-request/16. That’s for EPEL9 only. I tried building the 4.9.0 package from F40 in F39, but: ====================================================================== 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__' ---------------------------------------------------------------------- Ran 390 tests in 0.162s In fact, the package already FTBFS in both F39 and F40 for that reason! Maybe we should consider updating both F40 and F39 to the latest releases as I proposed for EPEL9, if we can show a clean impact check. The Rawhide branch does build in F40 and F39, and no dependent package has an incompatible version bound, so it’s probably feasible. I’d like to hear from one of this package’s usual maintainers before spending time on the impact checks, though.
It would be great to have feedback from package maintainers for packages that depends on python-typing-extensions in F39 and F40 before bumping to latest release.
I am not sure how you would prefer to collect that feedback, but here are the lists of directly-dependent packages. $ fedrq wrsrc -s python-typing-extensions -b f39 -F name RBTools hyfetch ipython kiwi matrix-synapse numpy onnx pylint python-aiohttp python-aiosqlite python-alembic python-arviz python-asyncssh python-aw-client python-aws-sam-translator python-azure-ai-formrecognizer python-azure-ai-textanalytics python-azure-core python-azure-eventhub python-azure-keyvault-administration python-azure-keyvault-certificates python-azure-keyvault-keys python-azure-keyvault-secrets python-azure-servicebus python-azure-storage-blob python-bravado python-chalice python-coincidence python-docx python-dogpile-cache python-domdf-python-tools python-ezdxf python-fastapi python-flexparser python-formulaic python-hypothesis python-injector python-janus python-jira python-libcst python-limits python-openapi-core python-opentelemetry python-pdir2 python-psycopg3 python-pydantic python-pydata-sphinx-theme python-pytest-bdd python-pytools python-qrcode python-qudida python-reactivex python-setuptools-rust python-setuptools_scm python-specfile python-starlette python-streamlink python-swagger-spec-validator python-textual python-trezor python-twisted python-typer python-typing-inspect python3-mypy ruff-lsp $ fedrq wrsrc -s python-typing-extensions -b f40 -F name RBTools hyfetch ipython matrix-synapse numpy onnx pylint python-aiohttp python-aiostream python-alembic python-arviz python-asyncssh python-aw-client python-aws-sam-translator python-azure-ai-formrecognizer python-azure-ai-textanalytics python-azure-core python-azure-keyvault-administration python-azure-keyvault-certificates python-azure-keyvault-keys python-azure-keyvault-secrets python-azure-monitor-query python-azure-servicebus python-azure-storage-blob python-bravado python-can python-cattrs python-chalice python-chalice python-coincidence python-docx python-dogpile-cache python-domdf-python-tools python-efel python-ezdxf python-fastapi python-flexparser python-formulaic python-huggingface-hub python-hypothesis python-injector python-janus python-jira python-libcst python-limits python-llama-cpp-python python-opentelemetry python-opentelemetry-contrib python-pdir2 python-pydantic python-pydantic-core python-pydata-sphinx-theme python-pytest-bdd python-pytools python-qrcode python-qudida python-rdflib python-reactivex python-selenium python-setuptools-rust python-setuptools_scm python-specfile python-sqlalchemy python-starlette python-streamlink python-stripe python-superqt python-swagger-spec-validator python-textual python-torch python-trezor python-twisted python-typer python-typing-inspect python-utils python3-mypy ruff-lsp As maintainer or regular co-maintainer of python-aiohttp, python-aws-sam-translator, python-cattrs, python-docx, python-ezdxf, python-fastapi, python-flexparser, python-formulaic, python-limits (retired in Rawhide), python-opentelemetry, python-opentelemetry-contrib, python-pydantic, python-pydantic-core, python-pytest-bdd, python-starlette, and python-typer, I’m not too worried about a python-typing-extensions update as long as the packages build with their tests passing. In fact, I would be at least as worried something breaking from not updating (because a dependency update starts relying on newer additions to typing-extensions without realizing and documenting it) as I would be about an allegedly-compatible typing-extensions update accidentally breaking something directly – although anything is always possible. Obviously, I can’t speak for all the packages on the list.
Thanks for your feedback, that is good enough for me.
Please test and give feedback for the updates: F39: https://bodhi.fedoraproject.org/updates/FEDORA-2024-cbf89bbc2e F40: https://bodhi.fedoraproject.org/updates/FEDORA-2024-e7ab1d448d
(In reply to Jonny Heggheim from comment #6) > Please test and give feedback for the updates: > > F39: https://bodhi.fedoraproject.org/updates/FEDORA-2024-cbf89bbc2e > F40: https://bodhi.fedoraproject.org/updates/FEDORA-2024-e7ab1d448d Oof, I was prepared to do a COPR impact check in each branch before shipping, if there was interest in doing the update. I’ll go ahead and start those impact checks and report back.
https://copr.fedorainfracloud.org/coprs/music/pydantic-f40/packages/ https://copr.fedorainfracloud.org/coprs/music/pydantic-f39/packages/ python-hypothesis FTBFS in F40 and F39 (“ERROR tests/ghostwriter/test_expected_output.py - AttributeError: 'NoneType'”), but similar pre-existing errors can be observed in Koschei: https://koschei.fedoraproject.org/package/python-hypothesis?collection=f40 https://koschei.fedoraproject.org/package/python-hypothesis?collection=f39 python-pydantic FTBFS in F40 with test failures related to email validation; this is also pre-existing, and it looks like I accidentally broke this with https://bodhi.fedoraproject.org/updates/FEDORA-2024-c73a20b184, and I can fix it by updating python-pydantic 2.8.2 in F40 (almost ready) python-qrcode FTBFS in F40 and F39 with a test failure in ScriptTest.test_piped, but Koschei shows this to be pre-existing: https://koschei.fedoraproject.org/package/python-qrcode?collection=f40 https://koschei.fedoraproject.org/package/python-qrcode?collection=f39 python-setuptools-rust FTBFS in F40 and F39 with a test failure “FAILED tests/test_extension.py::test_metadata_cargo_log - assert 'TRACE cargo...”, which Koschei shows to be pre-existing in at least F40: https://koschei.fedoraproject.org/package/python-setuptools-rust?collection=f40 python-torch FTBFS in F40 (and is not present in F39) because of some kind of issue fetching the pocketfft-076cb3d.tar.gz and pthreadpool-4fe0e1e.tar.gz sources while building the source RPM. This is extremely weird but unrelated. I’m just going to assume that it would probably be OK. python-twisted FTBFS in F40 and F39 with test failures in twisted.web.test.test_flatten.FlattenerErrorTests.test_asynchronousFlattenError and twisted.web.test.test_flatten.FlattenerErrorTests.test_cancel, but Koschei shows this to be pre-existing in at least F40: https://koschei.fedoraproject.org/package/python-twisted?collection=f40 Overall, I did not observe any regressions that could be attributed to the update.
This was completed some time ago. F39: https://bodhi.fedoraproject.org/updates/FEDORA-2024-cbf89bbc2e EPEL9: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2024-ef5df4ad76