support for building other's wheel or any wheel #1007
Replies: 6 comments 3 replies
-
One approach could be to point to a directory that only contains a requirements.txt file? Of course I could create a dummy setup with install_requires ... but this will not work: I am interested in build the install requires and cibw will complain and fail if the requiring dummy wheel is not platform-specific with "Build failed because a pure Python wheel was generated." So I guess part of my question is also how to build all the dependent wheels of a given package (be they "pure" or not) |
Beta Was this translation helpful? Give feedback.
-
Just to clarify my use case: given projects that use many native deps, I want an easy way to get pre-built wheels for all of these deps, on Linux, macOS and Windows (or pure), whether or not these exist on PyPI or not and this with maximum automation and optimal compatibility. ... in particular to avoid these kind of head scratchers pypa/pip#10824 |
Beta Was this translation helpful? Give feedback.
-
@joerick @YannickJadoul would you be interested to get a "build any wheel" feature contributed to this tool? Or should I instead work out something completely separate? |
Beta Was this translation helpful? Give feedback.
-
#597 Would probably be the way to go. |
Beta Was this translation helpful? Give feedback.
-
@joerick @henryiii Thanks for the replies! This makes sense... so to recap we could have:
I could feed this new tool with a requirements file (FWIW I have a decent parser for these) https://github.com/nexB/pip-requirements-parser and it would return built native wheels, pure wheels and sdists. This would neatly handle the local directory cases |
Beta Was this translation helpful? Give feedback.
-
For now I am doing these:
With these two I could write another tool that would have this UX:
The only missing part there is how provide the sdist tarball to the cibuildwheel run.
|
Beta Was this translation helpful? Give feedback.
-
I maintain several projects that have native code that I want to build with cibuildwheel and there are also several projects that I do not maintain for which I also want to build wheels that be missing entirely or only for some os/arch/python combos. These end up either:
Typically the input could be something like a list of pinned name/version requirements (either passed programmatically, as args or a pip requirements.txt file). I use https://github.com/nexB/skeleton/blob/main/etc/scripts/build_wheels.py today that uses Azure to spin multiple jobs and send back Linux/macOS/Windows built wheels
My question would be how to best set things with cibuildwheel to have something similar?
My ideal UX is a CLI that I can pass a --name/version from PyPI, an sdist archive or a git repo and that would spit back built wheels for all the os/arch/python (passed as args too)
Side question: Is this something that you would see integrated in cibuildwheel?
I reckon that https://github.com/astrofrog/autowheel may be a base but this looks like a different use case though could be used as a base.
Beta Was this translation helpful? Give feedback.
All reactions