Hey there! As PEP 517 and 518 are gaining more adoption, we are looking into ways of using them in Fedora RPM packaging.
Our packages build in sections, one section is responsible for unpacking the sources and applying patches (if any), another section builds the code (traditionally from source to a binary form), another section install the software to the buildroot, another sections is for running the tests etc.
Most importantly, we have the %build
phase and we use to run python setup.py build
in it, and we have the %install
part, where we used to run python setup.py install --skip-build
.
With PEP 517, we want to run pip wheel
in %build
and pip install
the wheel in %install
. The problem we have is that while the PEP 517 build_wheel hook returns the basename of the built wheel, pip AFAIK doesn’t share this information any further. We simply don’t know where the built wheel is located. I want to approach pip maintainers and ask them politely to print the information to stdout, so we can read it programmatically. In fact, I think this might be a good addition to the Recommendations for build frontends (non-normative).
Does a following addition makes sense?
A build frontend SHOULD make it possible to programmatically read the basename of built wheel when the
build_wheel
hook is invoked. For example, it might print the information to standard output.
Thanks for feedback.