Deprecate python-pytest-runner
Summary
The Template:Package:python-pytest-runner (Template:Package:python3-pytest-runner) package will be deprecated in Fedora Linux 42. Dependent packages are encouraged to switch to using pytest
directly.
Owner
- Name: Michel Lind
- Email: michel@michel-slm.name
Current status
- Targeted release: Fedora Linux 42
- Last updated: 2024-12-24
- [<link to devel-announce post will be added by Wrangler> Announced]
- [<will be assigned by the Wrangler> Discussion thread]
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
pytest-runner has been considered deprecated upstream since 2019 and the repo upstream was archived over a year ago (December 3, 2023).
Per upstream,
pytest-runner depends on deprecated features of setuptools and relies on features that break security mechanisms in pip. For example
setup_requires
andtests_require
bypasspip --require-hashes
. See also https://github.com/pypa/setuptools/issues/1684.
How to migrate to pytest
- Remove 'pytest-runner' from your 'setup_requires', preferably removing the
setup_requires
option. - Remove 'pytest' and any other testing requirements from 'tests_require', preferably removing the
setup_requires
option. - Use a requirement-test.txt file to hold test dependencies
- Invoke tests with
pytest
- Another good option is to configure a
tox.ini
next to your
setup.cfg
https://tox.readthedocs.io/en/latest/
Feedback
Benefit to Fedora
The security benefits mostly do not apply to us, as we install dependencies from RPM packages. But preventing additional packages from depending on a package with a dead upstream that might increasingly become incompatible with newer setuptools
releases would avoid us accumulating tech debt and having to deal with potential test runner failures in the future.
Scope
- Proposal owners:
- Mark Template:Package:python-pytest-runner as deprecated in
rawhide
- Send PRs to affected packages to remove dependencies on this package
- Mark Template:Package:python-pytest-runner as deprecated in
- Other developers:
- If your package depends on {{package:python-pytest-runner}, adjust it to drop the dependency
- Release engineering: no impact anticipated
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with the Fedora Strategy: N/A
Upgrade/compatibility impact
N/A. This just deprecates the package, and stops it from being used in new dependencies.
Early Testing (Optional)
Do you require 'QA Blueprint' support? N
How To Test
`
$ fedrq pkgs python3-pytest-runner -F provides | grep deprecated
deprecated()
`
User Experience
No changes
Dependencies
N/A (not a system-wide change)
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
Documentation
N/A (not a System Wide Change)