
On 1/28/2022 6:17 PM, Antonio Cuni wrote:
Of course, in order to be fully usable, the HPy universal ABI will need special support by PyPI/pip/etc, because at the moment it is impossible to package it inside a wheel, AFAIK.
It's totally possible, it's just that none of the existing tools will automatically generate the tags you need. (These are most critical in the filename itself, and also appear in 1-2 bits of metadata that currently are unused AFAIK.) Basically, instead of just "cp310" (or "abi3", etc.), you'll want to use dots to separate each supported version ("cp38.cp39.cp310"). That will match the wheel to any of those versions. You can even do the same with OS platforms if you prefer fewer/bigger wheels over more platform-specific ones. Python on all platforms since IIRC 3.6 (maybe 3.5?) also have version and platform-specific tags in extension modules. These do not support combining tags as in wheels (and unfortunately do not match wheel tags at all), but do allow you to have version/platform-specific .pyd/.dylib/.so files in a single wheel. Again, it's just that none of the current build backends will help you do it. Cheers, Steve