Impact-checking for a planned pytest 8.4 update[1] has revealed that the
python-parameterized package[2] is not compatible with pytest 8.4. The
root cause is related to an issue that was reported to parameterized
upstream nearly ten years ago[3]; upstream has been entirely inactive
for more than two years[4].
I picked up python-parameterized more than three years ago, after the
last time the package was orphaned. I added patches for Python 3.12 and
3.13 and have generally kept it working acceptably until now. Making it
work with pytest 8.4 would be quite a bit more difficult. Relevant
upstream work[5] is too outdated to be directly useful. Meanwhile, the
number of packages in Fedora that depend on it has dwindled to a handful:
conan
dist-git
gtk-doc
matrix-synapse
onnx
python-accelerate
python-dateparser
python-einops
python-fs
python-moreorless
trash-cli (PR available[6])
I’m therefore orphaning the python-parameterized package, and I suggest
that it may be time to remove this test dependency from packages in the
above list in one way or another, and to allow python-parameterized to
be retired.
If you maintain one of the mentioned packages, you should have received
a copy of this email directly. You have a few choices:
- Take over the python-parameterized package and invest enough time and
effort to get it working with pytest 8.4. If it’s this important to you,
then you might consider starting a maintained fork of the upstream project.
- Port your package to use the test parameterization functionality now
built in to pytest[7], ideally working with your upstream, as I did for
pydot[8]. Upstreams already relying on pytest are likely to be receptive
to removing an unnecessary and increasingly troublesome dependency; for
those using plain unittest or other frameworks, adding a hard test
dependency on pytest may be a hard sell. A downstream-only patch may
still be viable in simple cases.
- Patch out the test dependency on parameterized, and patch out the
tests that would use it; or remove, ignore, or otherwise skip collecting
tests from the modules that contain tests that would use it. For some
packages, this might still leave a lot of useful tests that can be run
without parameterized.
- If necessary, stop running tests altogether and make do with an
import-only “smoke test” (%pyproject_check_import). This is never
desirable, but there might be cases where it is the most reasonable choice.
[1] https://src.fedoraproject.org/rpms/pytest/pull-request/69
[2] https://src.fedoraproject.org/rpms/python-parameterized
[3] https://github.com/wolever/parameterized/issues/34
[4] https://github.com/wolever/parameterized/issues/181
[5] https://github.com/wolever/parameterized/tree/pytest4
[6] https://src.fedoraproject.org/rpms/trash-cli/pull-request/3
[7] https://docs.pytest.org/en/stable/how-to/parametrize.html
[8] https://github.com/pydot/pydot/pull/515
--
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue