Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Any limitations on platform constraints for wheels on PyPI?

Are there any limitations declared anywhere (PEPs or elsewhere) about how broad a scope the Linux wheels uploaded to PyPI should have? Specifically: is it considered acceptable practice to upload linux_x86_64 wheels to PyPI, instead of manylinux1_x86_64, when we are unable to build the latter - due to external C libraries that depend on a newer glibc?

See also PEP 513 / "Rationale":

Build tools using PEP 425 platform tags [3] do not track information about the particular Linux distribution or installed system libraries, and instead assign all wheels the too-vague linux_i686 or linux_x86_64 tags. Because of this ambiguity, there is no expectation that linux-tagged built distributions compiled on one machine will work properly on another, and for this reason, PyPI has not permitted the uploading of wheels for Linux.

and "PyPI Support":

PyPI should permit wheels containing the manylinux1 platform tag to be uploaded. PyPI should not attempt to formally verify that wheels containing the manylinux1 platform tag adhere to the manylinux1 policy described in this document. This verification tasks should be left to other tools, like auditwheel, that are developed separately.

like image 563
Ioannis Filippidis Avatar asked Oct 06 '17 05:10

Ioannis Filippidis


1 Answers

Well, trying to upload to https://test.pypi.org says:

HTTPError: 400 Client Error: Binary wheel 'foo-cp35-cp35m-linux_x86_64.whl' has an unsupported platform tag 'linux_x86_64'. for url: https://test.pypi.org/legacy/

like image 127
Ioannis Filippidis Avatar answered Nov 03 '22 19:11

Ioannis Filippidis