Deprecate python-pytest-runner
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
Summary
The python-pytest-runner
(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, Ben Beasley
- Email: michel@michel-slm.name, code@musicinmybrain.net
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 Deprecate test command ¡ Issue #1684 ¡ pypa/setuptools ¡ GitHub.
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. - See our guidelines for how to specify test dependencies
- Invoke tests with
pytest
- Another good option is to configure a
tox.ini
next to yoursetup.cfg
. tox
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
python-pytest-runner
as deprecated inrawhide
- Send PRs to affected packages to remove dependencies on this package
- Mark
-
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)
Release Notes
Last edited by @salimma 2025-01-06T20:20:54Z
Last edited by @salimma 2025-01-06T20:20:54Z