wheel icon indicating copy to clipboard operation
wheel copied to clipboard

Wheel tagging not supporting the full PEP 425

Open julienlavergne opened this issue 1 year ago • 1 comments

According to the specification : https://packaging.python.org/en/latest/specifications/platform-compatibility-tags/#use

Built distributions may be platform specific for reasons other than C extensions, such as by including a native executable invoked as a subprocess.

As of today, there is no way for wheel to give the proper tagging. The only two names wheel are given today are:

  • (impl, "none", plat_name) for a python package that does not contains any extension module or C libraries
  • (impl, abi_tag, plat_name) otherwise

The presence of an extention module is not enough to assume that the content of the wheel is ABI dependent. Executables could be build by extension and included in the package, but be independent from python.

There is a need for (impl, "none", plat_name) even when an extension exists. I would be open to do the code change if we agree on the approach. I suggest adding an option to specify that the wheel is pure, and it would take precendence over the current default of checking for extension or C libraries.

julienlavergne avatar Jun 14 '24 01:06 julienlavergne

All this lives in setuptools now. As far as this project (a CLI tool) goes, it is very much supported; just use wheel tags --abi-tag=none <original-wheel> for example to change the tag on an existing wheel.

henryiii avatar Jun 15 '24 15:06 henryiii

Closing as not relevant to this project anymore as bdist_wheel is now canonically part of setuptools.

agronholm avatar Nov 07 '24 22:11 agronholm