Skip to content

[Wheel Variant] Upcoming Python Packaging PEP - Looking for Feedbacks #156

@DEKHTIARJonathan

Description

@DEKHTIARJonathan

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 numpy

As 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:

Image

How can you help

Trying to be respectful of your time, here is how we can mutually help each other.

  1. Feel free to add pillow-simd to the list of projects who support WheelNext initiative to better the Python packaging initiative: https://github.com/wheelnext/wheelnext/blob/main/docs/who_are_we.md

  2. 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 !)

  3. 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 !

CC a few people: @rgommers @konsti @mgorny

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions