-
Notifications
You must be signed in to change notification settings - Fork 98
Description
Howdy @homm,
TLDR
The WheelNext initiative is getting very close to finalize the Wheel Variant PEP.
Draft: https://wheelnext.dev/proposals/pepxxx_wheel_variant_support/
If you're not familiar with the work - let me provide some high level summary.
We are proposing a new "Wheel Standard" called "Wheel Variant" that would allow you to essentially build & package & distribute packages targeting specific CPU architectures (e.g. skylake) , versions (e.g. x86_64_v4, armv8.1a) or CPU instruction (e.g. AVX512).
This would naturally fit very well with the concerns you wrote here:
https://github.com/uploadcare/pillow-simd#why-do-not-contribute-simd-to-the-original-pillow
You want to test ?
Index: https://wheelnext.github.io/variants-index/
curl -LsSf https://astral.sh/uv/install.sh | INSTALLER_DOWNLOAD_URL=https://wheelnext.astral.sh/v0.0.2 sh
uv venv
uv pip install numpyAs you can see on https://wheelnext.github.io/variants-index/v0.0.2/numpy/ - Numpy is being shipped with both BLAS variants and x86_64_v4 optimization:
How can you help
Trying to be respectful of your time, here is how we can mutually help each other.
-
Feel free to add
pillow-simdto the list of projects who supportWheelNextinitiative to better the Python packaging initiative: https://github.com/wheelnext/wheelnext/blob/main/docs/who_are_we.md -
If you are interested to start building & shipping
Wheel Variant- let me know, I'd love to give you a hand on that (spoiler: it's very easy !) -
Maybe more urgently: We would love to include a quote inside the PEP from you - representing Pillow-SIMD - illustrating one of the following:
a. How the current Python Packaging situation is difficult both for you & your users
b. How you believe having such a feature would be of great value to the Python ecosystem (and why).
I hope this message will leave you as excited as we are for this change ;)
Thanks for your time !