-
-
Notifications
You must be signed in to change notification settings - Fork 731
Description
I'd like to request that manylinux_2_17 be added as a python wheel target.
manylinux_2_17 is a popular target architecture for python packages, but watchdog currently doesn't prebuilt wheel files for it as part of the publishing process - for example 6.0.0 contains no wheels targeting it: https://pypi.org/project/watchdog/6.0.0/#files
Per PEP-600, the manylinux_2_17 is an alias for manylinux2014_aarch64, but folks attempting binary-only pip installs from manylinux_2_17 still see failures when watchdog is a dependency (see strands-agents/sdk-python#605).
Related packages
To determine if it was worthwhile to support manylinux_2_17, I ran some stats on popular packages. From the list of packages from https://pythonwheels.com/ (360 total packages), 18.3% targeted MANYLINUX_2_17, while 3.9% did not, and 77.8% had no targets other than any:
MANYLINUX_2_17 (66 packages, 18.3%):
aiohttp, bcrypt, black, cffi, charset-normalizer, coverage, cryptography, cython, debugpy, fonttools, frozenlist, google-crc32c, greenlet, grpcio, grpcio-tools, hf-xet, httptools, jiter, kiwisolver, lxml, lz4, markupsafe, matplotlib, msgpack, multidict, mypy, nvidia-cuda-nvrtc-cu12, nvidia-cufft-cu12, nvidia-cusparse-cu12, nvidia-nccl-cu12, nvidia-nvjitlink-cu12, orjson, pandas, pendulum, pillow, propcache, psutil, psycopg2-binary, pycryptodome, pydantic-core, pymongo, pynacl, pyrsistent, pyyaml, pyzmq, regex, rpds-py, ruamel-yaml-clib, ruff, safetensors, scikit-learn, scipy, shapely, snowflake-connector-python, sqlalchemy, tiktoken, tokenizers, tomli, tornado, uv, uvloop, watchfiles, websockets, wrapt, yarl, zstandard
OTHERS (14 packages, 3.9%):
aliyun-python-sdk-core, contourpy, dulwich, multiprocess, mysql-connector-python, numpy, nvidia-cublas-cu12, nvidia-cudnn-cu12, protobuf, pyarrow, pyspark, rapidfuzz, torch, watchdog
ANY ONLY (280 packages, 77.8%):
<omitted>
Of the packages tested, these were the counts of packages that targeted each architecture:
MANYLINUX_2_17 ARCHITECTURES:
manylinux_2_17_x86_64: 65
manylinux_2_17_aarch64: 59
manylinux_2_17_i686: 27
manylinux_2_17_ppc64le: 22
manylinux_2_17_s390x: 22
manylinux_2_17_armv7l: 13
manylinux_2_17_ppc64: 2
MANYLINUX2014 ARCHITECTURES:
manylinux2014_x86_64: 65
manylinux2014_aarch64: 58
manylinux2014_i686: 27
manylinux2014_ppc64le: 22
manylinux2014_s390x: 22
manylinux2014_armv7l: 13
manylinux2014_ppc64: 2
So I would suggest that manylinux_2_17_x86_64 and manylinux_2_17_aarch64 be added as additional wheels on deployment