Reinvent Python Wheel: WheelNext

At PyCon US 2025, Barry Warsaw and Jonathan Dekhtiar introduced WheelNext, a community-driven initiative aimed at revolutionizing Python’s package distribution ecosystem, particularly the wheel format, which is increasingly showing limitations under modern demands.

Python’s package distribution ecosystem is a cornerstone of its widespread adoption, having made significant strides since the days of distutils and setuptools. The introduction of the wheel binary format and the Python Package Index (PyPI) marked major milestones, with PyPI supporting over 600,000 projects, 7 million releases, and 1.6 billion daily downloads by 2025. However, as Python is applied to diverse fields like scientific computing, artificial intelligence, and edge computing, the limitations of the current ecosystem are becoming evident.

WheelNext addresses challenges in the current system: PyPI’s file size limits (default 100MB, up to 1GB with manual approval, and a 10GB project cap) hinder large AI and scientific projects like PyTorch or TensorFlow; the wheel format struggles to support native dependencies (e.g., C++ or Rust libraries), symbolic links, or modern compression like Zstandard; and there’s no mechanism to select optimized wheel packages for specific hardware (e.g., GPUs or CPUs with AVX512 support). Additionally, managing multiple package indexes poses security risks, as malicious packages with higher version numbers may be prioritized, and pip’s multi-index interface is cumbersome, impacting usability.

WheelNext aims to create a robust, backward-compatible, user-centric packaging ecosystem that meets the needs of users, tool developers, installers, and package creators while avoiding fragmented solutions.

WheelNext seeks to streamline package installation, support emerging use cases, and standardize practices across the ecosystem. For example, scientific computing projects like NumPy often redundantly package libraries like OpenBLAS, leading to oversized packages and runtime memory waste. WheelNext proposes efficient sharing of such libraries, possibly through a standardized native library loader similar to importlib. The initiative also introduces the concept of “wheel variants,” enabling installers to dynamically select the most suitable package based on system capabilities (e.g., PyTorch’s CUDA version or JAX’s TPU support), replacing the current “lowest common denominator” approach, which fails to optimize for anyone.

WheelNext proposes several Python Enhancement Proposals (PEPs) to achieve these goals. PEP 766 aims to standardize multi-index priority management, reducing security risks and improving usability by allowing users to specify trusted sources (e.g., “PyTorch from this index, NumPy from PyPI”). PEP 771 introduces default backend options, enabling packages to install fallback visualization tools or GUI toolkits when user preferences are unspecified, similar to Python’s default function parameters. PEP 778 explores symbolic link support to share libraries across wheel packages, though filesystem compatibility poses challenges. PEP 777 seeks to evolve the wheel format without breaking backward compatibility, addressing issues like the lack of METADATA.json support for dependency lock files. Additionally, a prototype pip plugin demonstrates wheel variants, selecting optimal packages by detecting system characteristics (e.g., CPU microarchitecture, CUDA version), with plans to extend this to other installers.

On governance, PEP 772 proposes adopting a model similar to the Python Steering Council, establishing a packaging committee elected by the packaging community. Currently, packaging decisions rely on a few delegated individuals, posing a “bus factor” risk and overburdening them. The committee will incorporate perspectives from tool developers (e.g., pip, conda), the scientific computing community, and enterprise users to ensure diverse decision-making. Warsaw specifically noted that the scientific computing community feels underserved due to the current ecosystem’s inability to handle large models or specialized hardware.

Looking ahead, WheelNext aims to keep Python at the forefront of packaging innovation for emerging technologies (e.g., quantum computing or edge devices). By addressing current pain points and fostering collaboration, the initiative seeks to build a scalable, future-oriented ecosystem. Community participation is central to realizing this vision. The WheelNext GitHub repository welcomes contributions such as code and use-case feedback, while the discussion forum encourages input from all stakeholders. Future milestones include finalizing PEP 772 to establish the committee and expanding the wheel variants prototype.

WheelNext website: https://wheelnext.dev/

Warsaw and Dekhtiar emphasized that WheelNext is not just about fixing the wheel format but about “reinventing the wheel” for Python’s next decade, inviting everyone to join this transformative journey. Those interested can watch the lecture’s YouTube video for more information.

About Sammy Fung

Sammy Fung is a passionate IT technology leader and speaker with deep expertise in open-source software, open data, and Python. Currently, as a developer relations professional, Sammy drives developer engagement and advocacy, fostering vibrant tech communities and empowering developers through impactful initiatives.

Leave a Reply

Your email address will not be published. Required fields are marked *

*