Hi, Please branch and build python3-black in epel10. Cheers, Romain Reproducible: Always
As said in bz2319803, I personally (as a co-maintainer) would be reluctant to maintain black for 10+ years while maintaining backward compatibility.
black is used in almost all tests of python-hypothesmith. So if black won't make it in EPEL 10, does this change disabling tests in hypothesmith make sense ? https://src.fedoraproject.org/rpms/python-hypothesmith/pull-request/2
Can the dependency on black be removed from the tests instead? How is it used?
I have found this proposal upstream to make black optional in tests https://github.com/Zac-HD/hypothesmith/pull/23 and the principle of removing black was refused (as apparently black is an important part of the test). Note that I don't know anything myself about hypothesmith, it just happens to be itself a (test) dependency of another package in a chain of dependency.
Since maturin is now in EPEL10, I was looking at the dependency tree for python-pydantic. One of the test dependencies for python-pydantic-core is python-inline-snapshot, which uses black as a hard runtime dependency for formatting generated code. So if black won’t be branched for EPEL10, we’ll have the following choices: - Intrusively patch inline-snapshot to replace black formatting with a no-op, or perhaps at some point with ruff. This isn’t attractive, and I hesitate to ship a package with possibly divergent behavior. - Patch inline-snapshot out of the test dependencies for pydantic-core, and skip all of the snapshot tests. This is probably the best choice, although it hurts test coverage. The python-fastapi package also uses python-inline-snapshot as a test dependency, so if I end up branching it in EPEL10, the same choices will apply. I’m not saying we *have* to branch black, just adding more context for its non-linting applications.
(In reply to Ben Beasley from comment #5) > - Patch inline-snapshot out of the test dependencies for pydantic-core, and > skip all of the snapshot tests. This is probably the best choice, although > it hurts test coverage. (We’re already doing this in F40, where dependencies are too old for python-inline-snapshot, so it would be easy to do it in EPEL10 as well.)
I went ahead and skipped the snapshot tests in python-pydantic-core for EPEL10, removing python-black from its dependency chain.
BTW I have no problem if somebody wants to maintain black in EPEL for a decade. I just expressed my lack of willingness to do it myself.
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle. Changing version to 42.
If someone needs black in EPEL 10 in the future (for now my users didn't ask for it, maybe eventually they will), FYI the current rawhide version (24.4.2) builds fine on EPEL 10: https://koji.fedoraproject.org/koji/taskinfo?taskID=130756452
Note: ruff was recently built for EPEL 10, so people landing on this ticket needing a python linter for their own projects might instead consider ruff as a possible alternative.
*** Bug 2367968 has been marked as a duplicate of this bug. ***