(initial change proposal draft for deprecating python3-pytest-runner) |
(fix package template) |
||
Line 8: | Line 8: | ||
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". --> | <!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". --> | ||
The {{package | The {{package|python-pytest-runner}} ({{package|python3-pytest-runner}}) package will be [https://docs.fedoraproject.org/en-US/packaging-guidelines/deprecating-packages/ deprecated] in [https://docs.fedoraproject.org/en-US/releases/f42/ Fedora Linux 42]. Dependent packages are encouraged to switch to using `pytest` directly. | ||
Line 78: | Line 78: | ||
== Scope == | == Scope == | ||
* Proposal owners: | * Proposal owners: | ||
** Mark {{package | ** Mark {{package|python-pytest-runner}} as deprecated in `rawhide` | ||
** Send PRs to affected packages to remove dependencies on this package | ** Send PRs to affected packages to remove dependencies on this package | ||
* Other developers: | * Other developers: | ||
** If your package depends on {{package | ** If your package depends on {{package|python-pytest-runner}, adjust it to drop the dependency | ||
* Release engineering: no impact anticipated | * Release engineering: no impact anticipated | ||
Revision as of 21:25, 24 December 2024
Deprecate python-pytest-runner
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
- 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
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)