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

Reply via email to