I’m sure this has been discussed in the WheelNext group, but to throw out a more opt-in flavor of this proposal:
- Wheel variants exist as proposed: a package publishes a JSON of wheels and the features they each require
- A standard is developed for installers to support wheel-variant plugins
- The user must opt to install the plugin for any given feature they care about
- e.g. if I have a GPU and I want my installer to automatically choose the best wheel for my GPU, I need to install the GPU-variant-plugin[1].
- Installers may try to automatically determine the appropriate plugins when they are installed, but this is configurable.
- Like any other package, these plugins are voluntarily installed and can be audited by those who wish to do so.
- Upon
[installer] install foo, the installer will consider the variants available and the plugins installed and choose a wheel accordingly.- If I ask for generic
pytorchand didn’t install a GPU-variant-plugin then I’m gonna get the CPU version
- If I ask for generic
and configure it, unless that plugin is going to run on install ↩︎