From 6993dbe0b5b219b8f40fb5c740b6686fc2f1413b Mon Sep 17 00:00:00 2001 From: Jonathan DEKHTIAR Date: Mon, 17 Aug 2026 05:11:41 -0500 Subject: [PATCH 1/3] PEP 817: switch To Informational track --- peps/pep-0817.rst | 1543 +++-------------- .../appendix-variant-metadata-json-schema.rst | 11 - peps/pep-0817/variant_schema.json | 163 -- 3 files changed, 197 insertions(+), 1520 deletions(-) delete mode 100644 peps/pep-0817/appendix-variant-metadata-json-schema.rst delete mode 100644 peps/pep-0817/variant_schema.json diff --git a/peps/pep-0817.rst b/peps/pep-0817.rst index a6b2a9afe35..d3328ad0e3b 100644 --- a/peps/pep-0817.rst +++ b/peps/pep-0817.rst @@ -13,7 +13,7 @@ Author: Jonathan Dekhtiar , Andy R. Terrel Discussions-To: https://discuss.python.org/t/pep-817-wheel-variants-beyond-platform-tags/105860 Status: Draft -Type: Standards Track +Type: Informational Topic: Packaging Created: 10-Dec-2025 Post-History: `24-Jan-2026 `__ @@ -35,7 +35,7 @@ high-performance computing (HPC) communities. This PEP proposes "Wheel Variants", an extension to the :doc:`packaging:specifications/binary-distribution-format`. This extension introduces a mechanism for package maintainers to declare -multiple build variants for the same package version, while allowing +multiple variant builds for the same package version, while allowing installers to automatically select the most appropriate variant based on system hardware and software characteristics. More specifically, it proposes: @@ -52,6 +52,23 @@ The goal is for the obvious installation commands (``{tool} install user experience. +Informational PEP +----------------- + +This PEP presents the minimal scope required to meet modern heterogenous +system needs. It leaves aspects beyond the minimal scope to evolve via +tools or future PEPs. A non-exhaustive list of these aspects include: + +- The format of a static file to select variants deterministically or + include variants in a ``pylock.toml`` file, +- The list of variant providers that are vendored or re-implemented by + installers, +- The specific opt-in mechanisms and UX for allowing an installer to run + non-vendored variant providers, +- How to instruct build backends to emit variants through the :pep:`517` + mechanism. + + Motivation ========== @@ -516,23 +533,6 @@ The potential for improvement can be summarized as: Architect at OpenTeams -Out-of-scope features ---------------------- - -This PEP presents the minimal scope required to meet modern heterogenous -system needs. It leaves aspects beyond the minimal scope to evolve via -tools or future PEPs. A non-exhaustive list of these aspects include: - -- The format of a static file to select variants deterministically or - include variants in a ``pylock.toml`` file, -- The list of variant providers that are vendored or re-implemented by - installers, -- The specific opt-in mechanisms and UX for allowing an installer to run - non-vendored variant providers, -- How to instruct build backends to emit variants through the :pep:`517` - mechanism. - - Prior art --------- @@ -680,8 +680,8 @@ are used in conjunction with USE flags. For example, build against. -Overview and rationale -====================== +Design Space and rationale +========================== Wheel variant glossary ---------------------- @@ -742,7 +742,7 @@ described in `modified wheel filename`_, and are characterizing using hierarchical structure of namespaces, features and feature values. When evaluating wheels to install, the installer determines whether variant properties of a given wheel are compatible with the system, and perform -`variant ordering`_ based on the priority of the compatible variant +variant ordering based on the priority of the compatible variant properties. This is done in addition to determining the compatibility. The ordering by variant properties takes precedence over ordering by tags. @@ -756,9 +756,9 @@ embedded in the wheel; it can be either provided directly by the wheel maintainer or queried at wheel build time from an AoT plugin. Both kinds of plugins are usually implemented as Python packages which -implement the `provider plugin API`_, but they may also be vendored or +implement the provider plugin API, but they may also be vendored or reimplemented by installers to improve user experience, as outlined in -`Providers`_. Plugin packages may be installed in isolated or +Providers. Plugin packages may be installed in isolated or non-isolated environments. In particular, all plugins may be returned by the ``get_requires_for_build_wheel()`` hook of a :pep:`517` backend, and therefore installed along with other build dependencies. For this @@ -786,42 +786,7 @@ A variant label component is added to the filename for the twofold purpose of providing a unique mapping from the filename to a set of variant properties, and providing a human-readable identification for the variant. The label is kept short and lowercase to avoid issues with -different filesystems. It is added as a ``-``-separated component at the -end to ensure that the existing filename validation algorithms reject -it: - -- If both the build tag and the variant label are present, the filename - contains too many components. Example: - - .. code-block:: text - - numpy-2.3.2-1-cp313-cp313t-musllinux_1_2_x86_64-x86_64_v3.whl - ^^^^^^^^^^ - -- If only the variant label is present, the Python tag at third position - will be misinterpreted as a build number. Since the build number must - start with a digit and no Python tags at the time start with digits, - the filename is considered invalid. Example: - - .. code-block:: text - - numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64-x86_64_v3.whl - ^^^^^ - -This behavior was confirmed for a number of existing tools: -`auditwheel -`__, -`packaging -`__, -`pdm -`__, -`pip -`__, -`poetry -`__, -and `uv -`__. - +different filesystems. Variant property system ----------------------- @@ -973,34 +938,14 @@ user system. All AoT providers can technically be used as install-time providers, but not the other way around. -Plugin stability and versioning -------------------------------- +Variant Discovery +----------------- -As the specification introduces the potential necessity of installing -and running provider packages to install wheels, it is recommended that -these packages remain functioning correctly for the variant wheels -published in the past, including very old package versions. Ideally, no -properties previously supported should ever be removed. - -If a breaking change needs to be performed, it is recommended to either -introduce a new provider package for that, or add a new plugin API -endpoint to the existing package. In both cases, it may be necessary to -preserve the old endpoint in minimal maintenance mode, to ensure that -old wheels can still be installed. The old endpoint can trigger -deprecation warnings in the ``get_all_configs()`` hook that is used when -building packages. - -An alternative approach is to use semantic versioning to cut off -breaking changes. However, this relies on package authors reliably using -caps on dependencies, as otherwise old wheels will start using -incompatible plugin versions. This is already a problem with Python -build backends used today. - -When vendoring or reimplementing plugins, installers need to follow -their current behavior. In particular, they should recognize the -relevant provider versions numbers, and possibly fall back to installing -the external plugin when the package in question is incompatible with -the installer's implementation. +The wheel variant proposal introduces the ability to take package resolution decisions +based on the user system. This ability is non-specific and flexible, allowing +any current or future system properties to be used as part of the variant discovery process. +Platform tags are essentially a subset of what this work is proposing. PEP 817 is focused on +providing a flexible and extensible mechanism for variant discovery. Metadata in source tree and wheels @@ -1009,12 +954,7 @@ Metadata in source tree and wheels Variants introduce a few new portions of metadata that are stored in the source tree and in wheels. In the source tree, it is stored in the ``pyproject.toml`` file along with other project properties, benefiting -from the TOML format's readability and strictness. Afterwards, it is -converted into an equivalent JSON structure, and stored as a separate -file in the ``.dist-info`` directory. The existing metadata files are -unchanged to avoid unnecessary incompatibility, and to avoid serializing -into the inconvenient :doc:`Core Metadata -` format. +from the TOML format's readability and strictness. The metadata in ``pyproject.toml`` includes: @@ -1023,29 +963,59 @@ The metadata in ``pyproject.toml`` includes: - static property lists for Ahead-of-Time providers that do not use plugins. -In wheel metadata, the above is amended by static property lists -obtained from the plugins and variant properties for the built wheel. +.. code:: toml + + [variant.default-priorities] + namespace = ["x86_64", "aarch64"] + + # prefer aarch64 version and x86_64 level features over other features + # (specific CPU extensions like "sse4.1") + feature.aarch64 = ["version"] + feature.x86_64 = ["level"] + + # prefer x86-64-v3 and then older (even if CPU is newer) + property.x86_64.level = ["v3", "v2", "v1"] + + [variant.providers.aarch64] + # example using different package based on Python version + requires = [ + "provider-variant-aarch64 >=0.0.1; python_version >= '3.12'", + "legacy-provider-variant-aarch64 >=0.0.1; python_version < '3.12'", + ] + # use only on aarch64/arm machines + enable-if = "platform_machine == 'aarch64' or 'arm' in platform_machine" + plugin-api = "provider_variant_aarch64.plugin:AArch64Plugin" -When wheels are published on an index, the variant metadata from all -wheels is combined into a single ``{name}-{version}-variants.json`` file -that is used by clients to efficiently obtain the variant metadata -without having to download it from individual wheels separately, or -implement explicit variant metadata support in an API provided by the -package index server. + [variant.providers.x86_64] + requires = ["provider-variant-x86-64 >=0.0.1"] + # use only on x86_64 machines + enable-if = "platform_machine == 'x86_64' or platform_machine == 'AMD64'" + plugin-api = "provider_variant_x86_64.plugin:X8664Plugin" + + +Afterwards, it is converted into an equivalent JSON structure, and stored as a separate +file in the ``.dist-info`` directory. The existing metadata files are +unchanged to avoid unnecessary incompatibility, and to avoid serializing +into the inconvenient :doc:`Core Metadata +` format. ABI dependency variant provider ------------------------------- -Some packages provide extension modules exposing an Application Binary -Interface (ABI) that is not compatible across wide ranges of versions. -The packages using this interface need to pin their wheels to the -version used at build time. If ABI changes frequently, the pins are very -narrow and users face problems if they need to install two packages that -may happen to pin to different versions of the same dependency. -Providing variants built against different dependency versions can -increase the chance of a resolver being able to find a dependency version -that is compatible with all the packages being installed. +Scientific and machine-learning packages often link against native +dependencies such as BLAS/LAPACK implementations, MPI runtimes, or +scientific computing libraries such as PyTorch. Their Application Binary +Interfaces (ABIs) may vary by implementation, build configuration, or version; +incompatible combinations can fail to import, crash, or behave incorrectly. +Downstream wheels therefore commonly use narrow dependency pins, which can make +an environment containing multiple such packages impossible to resolve. + +Variants allow a single release to provide wheels built against several +supported dependency ABIs. An installer that considers these variants +during dependency resolution can select mutually compatible wheels and +dependency versions, reducing overly narrow pins and avoiding unnecessary +source builds. Unfortunately, such a variant provider cannot be implemented within the plugin API defined by the specification. Given that a robust @@ -1053,7 +1023,7 @@ implementation would need to interface with the dependency resolver, rather than attempt to extend the API to cover this use case and add significant complexity as a result, the specification reserves ``abi_dependency`` as a special variant namespace that can be -implemented by installers wishing the provide this feature. +implemented by installers wishing to provide this feature. Given the complexity of the problem, this extension is made entirely optional. This implies that any packages using it need to provide @@ -1187,34 +1157,37 @@ backend would be to: Publishing variant wheels on an index ''''''''''''''''''''''''''''''''''''' -Variant wheels are uploaded to an index just like regular wheels. -There are two possible approaches to publishing the index-level -``{name}-{version}-variants.json`` file for every package version: -it can either be prepared and uploaded by the user, or it can be -generated automatically by the index. - -The file should not be changed once it is published, as clients may have -already cached it or locked to the existing hash. For this reason, if -the index is responsible for generating the file, it should use some -mechanism to defer publishing it until the release is fully uploaded -(for example, :pep:`694`). - -To generate the ``{name}-{version}-variants.json`` file: - -1. For the first variant wheel for a given package version, copy the - data from its ``*.dist-info/variant.json`` file. -2. For subsequent wheels, merge the data from their - ``*.dist-info/variant.json`` files into the existing data: - - - disjoint keys of ``providers``, ``static-properties`` and - ``variants`` dictionaries are merge together - - common keys of these dictionaries must have exactly the same value - - ``default-priorities.namespace`` list can be replaced if the new - value starts with the old value - - ``default-priorities.feature`` and ``default-priorities.value`` - keys can be added if they were not present in the previous - ``default-priorities.namespace`` value - - other keys must have exactly the same value +Variant wheels are uploaded to an index in the same way as regular +wheels. However, installers need aggregated metadata to discover and +evaluate the available variants without downloading every wheel in a +release. For each package version, the index therefore serves a +``{name}-{version}-variants.json`` file containing the combined variant +metadata for that release. + +The file can either be prepared and uploaded by the publisher or +generated by the index from the metadata embedded in the uploaded +wheels. Once published, it SHOULD not change, because clients MAY have +cached it or recorded its hash in a lock file. An index that generates +the file should therefore wait until the release is fully uploaded +before publishing it, for example by using a :pep:`694` upload session. + +An index generates the ``{name}-{version}-variants.json`` file as +follows: + +1. Copy the data from the first variant wheel's + ``*.dist-info/variant.json`` file. +2. Merge the data from each subsequent variant wheel into the existing + data according to these rules: + + - entries with distinct keys in ``providers``, ``static-properties``, + and ``variants`` are added; + - entries with the same key must have exactly the same value; + - ``default-priorities.namespace`` may be extended by appending new + values, but existing values must not be changed or reordered; + - entries may be added to ``default-priorities.feature`` and + ``default-priorities.value`` for namespaces newly appended to + ``default-priorities.namespace``; and + - all other values must match exactly. Example use cases @@ -1326,772 +1299,15 @@ The optional ``abi_dependency`` extension can be used to build multiple - ``vllm-0.11.0-...-torch27.wheel`` with ``abi_dependency :: torch :: 2.7`` - -Security implications -===================== - -The proposal introduces a plugin system for querying the system -capabilities in order to determine variant wheel capability. The system -permits specifying additional Python packages providing the plugins -in the package index metadata. Installers and other tools that need -to determine whether a particular wheel is installable, or select -the most preferred variant among multiple variant wheels, may need -to install these packages and execute the code within them while -resolving dependencies or processing wheels. - -This elevates the supply-chain attack potential by introducing two new -points for malicious actors to inject arbitrary code payload: - -1. Publishing a version of a variant provider plugin or one of its - dependencies with malicious code. - -2. Introducing a malicious variant provider plugin in an existing - package metadata. - -While such attacks are already possible at the package dependency level, -it needs to be emphasized that in some scenarios the affected tools are -executed with elevated privileges, e.g. when installing packages for -multi-user systems, while the installed packages are only used with -regular user privileges afterwards. Therefore, variant provider plugins -could introduce a Remote Code Execution vulnerability with elevated -privileges. - -A similar issue already exists in the packaging ecosystem when packages -are installed from source distributions, whereas build backends -and other build dependencies are installed and executed. However, -various tools operating purely on wheels, as well as users using -tool-specific options to disable use of source distributions, -have been relying on the assumption that no code external to the system -will be executed while resolving dependencies, installing a wheel or -otherwise processing it. To uphold this assumption, the proposal -explicitly requires that untrusted provider plugin packages are never -installed without explicit user consent. - -The `Providers`_ section of the specification provides further -suggestions that aim to improve both security and the user experience. -Particularly, it is expected that the most popular provider plugins will -be available out of the box, and a dedicated team of maintainers -(initially including a subset of the PEP authors) will be responsible -for inspecting them for security risks and vetting the plugins as safe -to use. Installers will be able to either use a published allowlist, -vendor specific provider plugin versions, reimplement them or use them -as a Python library at their leisure. - -This will lead to the majority of packages focusing on these specific -plugins, rather than implementing competing solutions. Plugins requiring -explicit opt-in should be rare, and primarily affect expert users. This -is important to make variant usage secure-by-default. Furthermore, the -frequent disruption of workflows incentivises users to blanket-allow all -plugins (security fatigue). - -Furthermore, the specification permits using static configuration as -input to skip running plugins altogether. - - -Specification -============= - -This PEP proposes a set of extensions to the -:ref:`packaging:binary-distribution-format` specification that enable -building additional variants of wheels that can be installed by -variant-aware tools while being ignored by programs that do not -implement this specification. - - -Definitions ------------ - -The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", -"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this -document are to be interpreted as described in :rfc:`2119`. - - -Extended wheel filename ------------------------ - -The wheel filename template originally defined by :pep:`427` is changed -to: - -.. code:: text - - {distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}(-{variant label})?.whl - +++++++++++++++++++ - -Wheels using extensions introduced by this PEP MUST feature the variant -label component. The label MUST adhere to the following rules: - -- Lower case only (to prevent issues with case-sensitive - vs. case-insensitive filesystems) -- Between 1-16 characters -- Using only ``0-9``, ``a-z``, ``.`` or ``_`` ASCII characters - -This is equivalent to the following regular expression: -``^[0-9a-z._]{1,16}$``. - -Every label MUST uniquely correspond to a specific set of variant -properties, which MUST be the same for all wheels using the same label -within a single package version. Variant labels SHOULD be specified at -wheel build time, as human-readable strings. The label ``null`` is -reserved for the null variant and MUST use an empty set of variant -properties. - -Installers that do not implement this specification MUST ignore wheels -with variant label when installing from an index, and fall back to a -wheel without such label if it is available. If no such wheel is -available, the installer SHOULD output an appropriate diagnostic, -in particular warning if it results in selecting an earlier package -version or a clear error if no package version can be installed. - -Examples: - -- Non-variant wheel: - ``numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl`` -- Wheel with variant label: - ``numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64-x86_64_v3.whl`` - - -Variant properties ------------------- - -Every variant wheel MUST be described by zero or more variant -properties. A variant wheel with exactly zero properties represents the -null variant. The properties are specified when the variant wheel is -being built, using a mechanism defined by the project's build backend. - -Each variant property is described by a 3-tuple that is serialized into -the following format: - -:: - - {namespace} :: {feature_name} :: {feature_value} - -The namespace MUST consist only of ``0-9``, ``a-z`` and ``_`` ASCII -characters (``^[a-z0-9_]+$``). It MUST correspond to a single variant -provider. - -The feature name MUST consist only of ``0-9``, ``a-z`` and ``_`` ASCII -characters (``^[a-z0-9_]+$``). It MUST correspond to a valid feature -name defined by the respective variant provider in the namespace. - -The feature value MUST consist only of ``0-9``, ``a-z``, ``_`` and ``.`` -ASCII Characters (``^[a-z0-9_.]+$``). It MUST correspond to a valid -value defined by the respective variant provider for the feature. - -If a feature is marked as "multi-value" by the provider plugin, a single -variant wheel can define multiple properties sharing the same namespace -and feature name. Otherwise, there MUST NOT be more than a single value -corresponding to a single pair of namespace and feature name within a -variant wheel. - -For a variant wheel to be considered compatible with the system, all of -the features defined within it MUST be determined to be compatible. For -a feature to be compatible, at least a single value corresponding to it -MUST be compatible. - -Examples: - -.. code:: text - - # all of the following must be supported - x86_64 :: level :: v3 - x86_64 :: avx512_bf16 :: on - nvidia :: cuda_version_lower_bound :: 12.8 - # additionally, at least one of the following must be supported - nvidia :: sm_arch :: 120_real - nvidia :: sm_arch :: 110_real - - -Providers ---------- - -When installing or resolving variant wheels, installers SHOULD query the -variant providers to verify whether a given wheel's properties are -compatible with the system and to select the best variant through -`variant ordering`_. However, they MAY provide an option to omit the -verification and install a specified variant explicitly. - -Providers can be marked as install-time or ahead-of-time. For -install-time providers, installers MUST either query the provider for -variant property compatibility, or use user-provided compatibility -information. Installers MAY vendor or reimplement specific providers. -The format of user-provided information is left implementation-defined. - -For ahead-of-time providers, they MUST use the static metadata embedded -in the wheel instead. - -Providers can be marked as optional. If a provider is marked optional, -then the installer MUST NOT query said provider by default, and instead -assume that its properties are incompatible. It SHOULD provide an option -to enable optional providers. - -Providers can also be made conditional to -:ref:`dependency-specifiers-environment-markers`. If that is the case, -the installer MUST check the markers against the environment to which -wheels are going to be installed. It MUST NOT use any providers whose -markers do not match, and instead assume that their properties are -incompatible. - -All the tools that need to query variant providers and are run in a -security-sensitive context, MUST NOT install or run provider packages, -unless they can determine the particular provider package version to be -trusted. The exact mechanism used to do that is implementation-specific. -However, installers SHOULD ensure that the most commonly used providers -can be securely used without an explicit user opt-in. - -When installing provider packages, tools SHOULD use an isolated virtual -environment. - -Install-time provider packages SHOULD take measures to guard against -supply chain attacks, for example by vendoring all dependencies. - -For a consistent experience between tools, variant wheels SHOULD be -supported by default. Tools MAY provide an option to only use -non-variant wheels. - - -Variant metadata ----------------- - -This section describes the metadata format for the providers, variants -and properties of a package and its wheels. The format is used in three -locations, with slight variations: - -1. in the source tree, inside the ``pyproject.toml`` file -2. in the built wheel, as a ``*.dist-info/variant.json`` file -3. on the package index, as a ``{name}-{version}-variants.json`` file. - -All three variants metadata files share a common JSON-compatible -structure: - -.. code:: text - - (root) - | - +- providers - | +- {namespace} - | +- enable-if : str | None = None - | +- install-time : bool = True - | +- optional : bool = False - | +- plugin-api : str | None = None - | +- requires : list[str] = [] - | - +- default-priorities - | +- namespace : list[str] - | +- feature - | +- {namespace} : list[str] = [] - | +- property - | +- {namespace} - | +- {feature} : list[str] = [] - | - +- static-properties - | +- {namespace} - | +- {feature} : list[str] = [] - | - +- variants - +- {variant_label} - +- {namespace} - +- {feature} : list[str] = [] - -The top-level object is a dictionary rooted at a specific point in the -containing file. Its individual keys are sub-dictionaries that are -described in the subsequent sections, along with the requirements for -their presence. The tools MUST ignore unknown keys in the dictionaries -for forwards compatibility of updates to the PEP. However, users -MUST NOT use unsupported keys to avoid potential future conflicts. - -A `JSON schema `__ is included in the Appendix -of this PEP, to ease comprehension and validation of the metadata -format. This schema will be updated with each revision to the variant -metadata specification. The schema is available in -:ref:`0817-variant-json-schema`. - -Ultimately, the variant metadata JSON schema SHOULD be served by -`packaging.python.org `__. - -Provider information -'''''''''''''''''''' - -``providers`` is a dictionary, the keys are namespaces, the values are -dictionaries with provider information. It specifies how to install and -use variant providers. A provider information dictionary MUST be -declared in ``pyproject.toml`` for every variant namespace supported by -the package. It MUST be copied to ``variant.json`` as-is, including -the data for providers that are not used in the particular wheel. - -The use of provider information is described in the `Providers`_ and -`Provider plugin API`_ sections. - -A provider information dictionary MAY contain the following keys: - -- ``enable-if: str``: An :ref:`environment marker - ` defining when the plugin - should be used. - -- ``install-time: bool``: Whether this is an install-time provider. - Defaults to ``true``. ``false`` means that it is an AoT provider - instead. - -- ``optional: bool``: Whether the provider is optional. Defaults - to ``false``. If it is ``true``, the provider is - considered optional. - -- ``plugin-api: str``: The API endpoint for the plugin. If it is - specified, it MUST be an object reference as explained in the `API - endpoint`_ section. If it is missing, the package name from the first - dependency specifier in ``requires`` is used, after replacing all - ``-`` characters with ``_`` in the normalized package name. - -- ``requires: list[str]``: A list of zero or more package - :ref:`dependency specifiers `, that are used to - install the provider plugin. If the dependency specifiers include - environment markers, these are evaluated against the environment where - the plugin is being installed and the requirements for which the - markers evaluate to false are filtered out. In that case, at least - one dependency MUST remain present in every possible environment. - Additionally, if ``plugin-api`` is not specified, the first dependency - present after filtering MUST always evaluate to the same API endpoint. - -All the fields are OPTIONAL, with the following exceptions: - -1. If ``install-time`` is true, the dictionary describes an install-time - provider and the ``requires`` key MUST be present and specify at - least one dependency. - -2. If ``install-time`` is false, it describes an AoT provider and the - ``requires`` key is OPTIONAL. In that case: - - a. If ``requires`` is provided and non-empty, the provider dictionary - MUST reference an AoT provider plugin that will be queried at - build time to fill ``static-properties``. - - b. Otherwise, ``static-properties`` MUST be specified in - ``pyproject.toml``. - - -Default priorities -'''''''''''''''''' - -The ``default-priorities`` dictionary controls the ordering of variants. -The exact algorithm is described in the `Variant ordering`_ section. - -It has a single REQUIRED key: - -- ``namespace: list[str]``: All namespaces used by the wheel variants, - ordered in decreasing priority. This list MUST have the same members - as the keys of the ``providers`` dictionary. - -It MAY have the following OPTIONAL keys: - -- ``feature: dict[str, list[str]]``: A dictionary with namespaces as - keys, and ordered list of corresponding feature names as values. The - values in each list override the default ordering from the provider - output. They are listed from the highest priority to the lowest - priority. Features not present on the list are considered of lower - priority than those present, and their relative priority is defined by - the plugin. - -- ``property: dict[str, dict[str, list[str]]]``: A nested dictionary - with namespaces as first-level keys, feature names as second-level - keys and ordered lists of corresponding property values as - second-level values. The values present in the list override the - default ordering from the provider output. They are listed from the - the highest priority to the lowest priority. Properties not present on - the list are considered of lower priority than these present, and - their relative priority is defined by the plugin output. - - -Static properties -''''''''''''''''' - -The ``static-properties`` dictionary specifies the supported properties -for AoT providers. It is a nested dictionary with namespaces as first -level keys, feature name as second level keys and ordered lists of -feature values as second level values. - -In ``pyproject.toml`` file, the namespaces present in this dictionary -MUST correspond to all AoT providers without a -plugin (i.e. with ``install-time`` of ``false`` and no or empty -``requires``). When building a wheel, the build backend MUST query the -AoT provider plugins (i.e. these with ``install-time`` being ``false`` -and non-empty ``requires``) to obtain supported properties and embed -them into the dictionary. Therefore, the dictionary in ``variant.json`` -and ``*-variants.json`` MUST contain namespaces for all AoT providers -(i.e. all providers with ``install-time`` being ``false``). - -Since TOML and JSON dictionaries are unsorted, so are the features in -the ``static-properties`` dictionary. If more than one feature is -specified for a namespace, then the order for all features MUST be -specified in ``default-priorities.feature.{namespace}``. If an AoT -plugin is used to fill ``static-properties``, then the features not -already in the list in ``pyproject.toml`` MUST be appended to it. - -The list of values is ordered from the most preferred to the least -preferred, same as the lists returned by ``get_supported_configs()`` -plugin API call (as defined in `plugin interface`_). The -``default-priorities.property`` dict can be used to override the -property ordering. - - -Variants -'''''''' - -The ``variants`` dictionary is used in ``variant.json`` to indicate the -variant that the wheel was built for, and in ``*-variants.json`` to -indicate all the wheel variants available. It's a 3-level dictionary -listing all properties per variant label: The first level keys are -variant labels, the second level keys are namespaces, the third level -are feature names, and the third level values are lists of feature -values. - - -``pyproject.toml``: variant project-level data table -'''''''''''''''''''''''''''''''''''''''''''''''''''' - -The ``pyproject.toml`` file is the standard project configuration file -as defined in :doc:`packaging:specifications/pyproject-toml`. The -variant metadata MUST be rooted at a top-level table named ``variant``. -It MUST NOT specify the ``variants`` dictionary. It is used by build -backends to build variant wheels. - -Example Structure: - -.. code:: toml - - [variant.default-priorities] - # prefer CPU features over BLAS/LAPACK variants - namespace = ["x86_64", "aarch64", "blas_lapack"] - - # prefer aarch64 version and x86_64 level features over other features - # (specific CPU extensions like "sse4.1") - feature.aarch64 = ["version"] - feature.x86_64 = ["level"] - - # prefer x86-64-v3 and then older (even if CPU is newer) - property.x86_64.level = ["v3", "v2", "v1"] - - [variant.providers.aarch64] - # example using different package based on Python version - requires = [ - "provider-variant-aarch64 >=0.0.1; python_version >= '3.12'", - "legacy-provider-variant-aarch64 >=0.0.1; python_version < '3.12'", - ] - # use only on aarch64/arm machines - enable-if = "platform_machine == 'aarch64' or 'arm' in platform_machine" - plugin-api = "provider_variant_aarch64.plugin:AArch64Plugin" - - [variant.providers.x86_64] - requires = ["provider-variant-x86-64 >=0.0.1"] - # use only on x86_64 machines - enable-if = "platform_machine == 'x86_64' or platform_machine == 'AMD64'" - plugin-api = "provider_variant_x86_64.plugin:X8664Plugin" - - [variant.providers.blas_lapack] - # plugin-api inferred from requires - requires = ["blas-lapack-variant-provider"] - # plugin used only when building package, properties will be inlined - # into variant.json - install-time = false - - -``*.dist-info/variant.json``: the packaged variant metadata file -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -The ``variant.json`` file MUST be present in the ``*.dist-info/`` -directory of a built variant wheel. It is serialized into JSON, with the -variant metadata dictionary being the top object. It MUST include all -the variant metadata present in ``pyproject.toml``, copied as indicated -in the individual key sections. In addition to that, it MUST contain: - -- a ``$schema`` key whose value is the URL corresponding to the schema - file supplied in the appendix of this PEP. The URL contains the - version of the format, and a new version MUST be added to the appendix - whenever the format changes in the future, - -- a ``variants`` object listing exactly one variant - the variant - provided by the wheel. - -The variant.json file corresponding to the wheel built from the example -pyproject.toml file for x86-64-v3 would look like: - -.. code:: json5 - - { - // The schema URL will be replaced with the final URL on packaging.python.org - "$schema": "https://variants-schema.wheelnext.dev/v0.0.3.json", - "default-priorities": { - "feature": { - "aarch64": ["version"], - "x86_64": ["level"] - }, - "namespace": ["x86_64", "aarch64", "blas_lapack"], - "property": { - "x86_64": { - "level": ["v3", "v2", "v1"] - } - } - }, - "providers": { - "aarch64": { - "enable-if": "platform_machine == 'aarch64' or 'arm' in platform_machine", - "plugin-api": "provider_variant_aarch64.plugin:AArch64Plugin", - "requires": [ - "provider-variant-aarch64 >=0.0.1; python_version >= '3.12'", - "legacy-provider-variant-aarch64 >=0.0.1; python_version < '3.12'" - ] - }, - "blas_lapack": { - "install-time": false, - "requires": ["blas-lapack-variant-provider"] - }, - "x86_64": { - "enable-if": "platform_machine == 'x86_64' or platform_machine == 'AMD64'", - "plugin-api": "provider_variant_x86_64.plugin:X8664Plugin", - "requires": ["provider-variant-x86-64 >=0.0.1"] - } - }, - "static-properties": { - "blas_lapack": { - "provider": ["accelerate", "openblas", "mkl"] - }, - }, - "variants": { - // always a single entry, expressing the variant properties of the wheel - "x8664v3_openblas": { - "blas_lapack": { - "provider": ["openblas"] - }, - "x86_64": { - "level": ["v3"] - } - } - } - } - - -``{name}-{version}-variants.json``: the index level variant metadata file -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -For every package version that includes at least one variant wheel, -there MUST exist a corresponding ``{name}-{version}-variants.json`` -file, hosted and served by the package index. The ``{name}`` and -``{version}`` placeholders correspond to the package name and version, -normalized according to the same rules as wheel files, as found in the -:ref:`packaging:wheel-file-name-spec` of the Binary Distribution Format -specification. The link to this file MUST be present on all index pages -where the variant wheels are linked. It is presented in the same simple -repository format as source distribution and wheel links in the index, -including an (OPTIONAL) hash. - -This file uses the same structure as ``variant.json`` described above, -except that the variants object MUST list all variants available on the -package index for the package version in question. It is RECOMMENDED -that tools enforce the same contents of the ``default-priorities``, -``providers`` and ``static-properties`` sections for all variants listed -in the file, though careful merging is possible, as long as no -conflicting information is introduced, and the resolution results within -a subset of variants do not change. - -The index MAY generate the index level variant metadata file -automatically from uploaded wheel metadata. If that is the case, the -file SHOULD NOT be published until it is final, and once published, it -SHOULD NOT change, as clients MAY cache it. - -If the file is not generated automatically, the index MUST permit -package maintainers to upload it. Once the variant level metadata file -is uploaded, the package maintainers SHOULD NOT upload new variants for -the version in question. - -The ``foo-1.2.3-variants.json`` corresponding to the package with two -wheel variants, one of them listed in the previous example, would look -like: - -.. code:: json5 - - { - // The schema URL will be replaced with the final URL on packaging.python.org - "$schema": "https://variants-schema.wheelnext.dev/v0.0.3.json", - "default-priorities": { - // identical to above - }, - "providers": { - // identical to above - }, - "static-properties": { - // identical to above - }, - "variants": { - // all available wheel variants - "x8664v3_openblas": { - "blas_lapack": { - "provider": ["openblas"] - }, - "x86_64": { - "level": ["v3"] - } - }, - "x8664v4_mkl": { - "blas_lapack": { - "provider": ["mkl"] - }, - "x86_64": { - "level": ["v4"] - } - } - } - } - - -Variant ordering ----------------- - -To determine which variant wheel to install when multiple wheels are -compatible, variant wheels MUST be ordered by their variant properties. - -For the purpose of ordering, variant properties are grouped into -features, and features into namespaces. The ordering MUST be equivalent -to the following algorithm: - -1. Construct the ordered list of namespaces by copying the value of the - ``default-priorities.namespace`` key. - -2. For every namespace: - - i. Construct the initial ordered list of feature names by copying the - value of the respective ``default-priorities.feature.{namespace}`` - key. - - ii. Obtain the supported feature names from the provider, in order. - For every feature name that is not present in the constructed - list, append it to the end. - - After this step, a list of ordered feature names is available for - every namespace. - -3. For every feature: - - i. Construct the initial ordered list of values by copying the value - of the respective - ``default-priorities.property.{namespace}.{feature_name}`` key. - - ii. Obtain the supported values from the provider, in order. For - every value that is not present in the constructed list, append - it to the end. - - After this step, a list of ordered property values is available for - every feature. - -4. For every variant property present in at least one of the compatible - variant wheels, construct a sort key that is a 3-tuple consisting of - its namespace, feature name and feature value indices in the - respective ordered lists. - -5. For every compatible variant wheel, order its properties by their - sort keys, in ascending order. - -6. To order variant wheels, compare their sorted properties. If the - properties at the first position are different, the variant with the - lower 3-tuple of the respective property is sorted earlier. If they - are the same, compare the properties at the second position, and so - on, until either a tie-breaker is found or the list of properties of - one wheel is exhausted. In the latter case, the variant with more - properties is sorted earlier. - -After this process, the variant wheels are sorted from the most -preferred to the least preferred. The null variant naturally sorts after -all the other variants, and the non-variant wheel MUST be sorted after -the null variant. Multiple wheels with the same variant set (and -multiple non-variant wheels) MUST then be ordered according to their -platform compatibility tags. - -Alternatively, the sort algorithm for variant wheels could be described -using the following pseudocode. For simplicity, this code does not -account for non-variant wheels or tags. - -.. code:: python - - from typing import Self - - - def get_supported_feature_names(namespace: str) -> list[str]: - """Get feature names from plugin's get_supported_configs()""" - ... - - - def get_supported_feature_values(namespace: str, feature_name: str) -> list[str]: - """Get feature values from plugin's get_supported_configs()""" - ... - - - # default-priorities dict from variant metadata - default_priorities = { - "namespace": [...], # : list[str] - "feature": {...}, # : dict[str, list[str]] - "property": {...}, # : dict[str, dict[str, list[str]]] - } - - - # 1. Construct the ordered list of namespaces. - namespace_order = default_priorities["namespace"] - feature_order = {} - value_order = {} - - for namespace in namespace_order: - # 2. Construct the ordered lists of feature names. - feature_order[namespace] = default_priorities["feature"].get(namespace, []) - for feature_name in get_supported_feature_names(namespace): - if feature_name not in feature_order[namespace]: - feature_order[namespace].append(feature_name) - - value_order[namespace] = {} - for feature_name in feature_order[namespace]: - # 3. Construct the ordered lists of feature values. - value_order[namespace][feature_name] = ( - default_priorities["property"].get(namespace, {}).get(feature_name, []) - ) - for feature_value in get_supported_feature_values(namespace, feature_name): - if feature_value not in value_order[namespace][feature_name]: - value_order[namespace][feature_name].append(feature_value) - - - def property_key(prop: tuple[str, str, str]) -> tuple[int, int, int]: - """Construct a sort key for variant property (akin to step 4.)""" - namespace, feature_name, feature_value = prop - return ( - namespace_order.index(namespace), - feature_order[namespace].index(feature_name), - value_order[namespace][feature_name].index(feature_value), - ) - - - class VariantWheel: - """Example class exposing properties of a variant wheel""" - properties: list[tuple[str, str, str]] - - def __lt__(self: Self, other: Self) -> bool: - """Variant comparison function for sorting (akin to step 6.)""" - for self_prop, other_prop in zip(self.properties, other.properties): - if self_prop != other_prop: - return property_key(self_prop) < property_key(other_prop) - return len(self.properties) > len(other.properties) - - - # A list of variant wheels to sort. - wheels: list[VariantWheel] = [...] - - - for wheel in wheels: - # 5. Order variant wheel properties by their sort keys. - wheel.properties.sort(key=property_key) - # 6. Order variant wheels by comparing their sorted properties - # (see VariantWheel.__lt__()) - wheels.sort() - - Integration with ``pylock.toml`` -------------------------------- -The following section is added to the -:doc:`packaging:specifications/pylock-toml`: +The :doc:`packaging:specifications/pylock-toml` format does not currently +represent wheel variants. A future revision could include variant +metadata so that installers can preserve variant information when +resolving and installing from a lock file. + +One possible representation follows: .. code:: rst @@ -2133,358 +1349,44 @@ If there is a ``[packages.variants-json]`` section, the installer SHOULD resolve variants to select the best wheel file. -Provider plugin API -------------------- - -High level design -''''''''''''''''' - -Every provider plugin MUST operate within a single namespace. This -namespace is used as a unique key for all plugin-related operations. All -the properties defined by the plugin are bound within the plugin's -namespace, and the plugin defines all the valid feature names and values -within that namespace. - -Provider plugin authors SHOULD choose namespaces that can be clearly -associated with the project they represent, and avoid namespaces that -refer to other projects or generic terms that could lead to naming -conflicts in the future. - -All variants published on a single index for a specific package version -MUST use the same provider for a given namespace. Attempting to load -more than one plugin for the same namespace in the same release version -MUST result in a fatal error. While multiple plugins for the same -namespace MAY exist across different packages or release versions (such -as when a plugin is forked due to being unmaintained), they are mutually -exclusive within any single release version. - -To make it easier to discover and install plugins, they SHOULD be -published in the same indexes that the packages using them. In -particular, packages published to PyPI MUST NOT rely on plugins that -need to be installed from other indexes. - -Except for namespaces reserved as part of this PEP, installable Python -packages MUST be provided for plugins. However, as noted in the -`Providers`_ section, these plugins can also be reimplemented by tools -needing them. In the latter case, the resulting reimplementation does -not need to follow the API defined in this section. - -Plugin packages may be run in an isolated environment. They MUST NOT -make decisions based on installed packages. - -A plugin implemented as Python package exposes two kinds of objects at a -specified API endpoint: - -a. attributes that return a specific value after being accessed via: - - .. code:: text - - {API endpoint}.{attribute name} - -b. callables that are called via: - - .. code:: text - - {API endpoint}.{callable name}({arguments}...) - -These can be implemented either as modules, or classes with class -methods or static methods. The specifics are provided in the subsequent -sections. - - -API endpoint -'''''''''''' - -The location of the plugin code is called an "API endpoint", and it is -expressed using the object reference notation following the -:doc:`packaging:specifications/entry-points`: - -.. code:: text - - {import_path}(:{object_path})? - -An API endpoint specification is equivalent to the following Python -pseudocode: - -.. code:: python - - import {import_path} - - if "{object_path}": - plugin = {import_path}.{object_path} - else: - plugin = {import_path} - -API endpoints are used in two contexts: - -a. in the ``plugin-api`` key of variant metadata, either explicitly or - inferred from the package name in the ``requires`` key. This is the - primary method of using the plugin when building and installing - wheels. - -b. as the value of an installed entry point in the ``variant_plugins`` - group. The name of said entry point is insignificant. This is - OPTIONAL but RECOMMENDED, as it permits variant-related utilities to - discover variant plugins installed to the user's environment. - - -Variant feature config class -'''''''''''''''''''''''''''' - -The variant feature config class is used as a return value in plugin API -functions. It defines a single variant feature, along with a list of -possible values. Depending on the context, the order of values MAY be -significant. It is defined using the following protocol: - -.. code:: python - - from abc import abstractmethod - from typing import Protocol - - - class VariantFeatureConfigType(Protocol): - @property - @abstractmethod - def name(self) -> str: - """Feature name""" - raise NotImplementedError - - @property - @abstractmethod - def multi_value(self) -> bool: - """Does this property allow multiple values per variant?""" - raise NotImplementedError - - @property - @abstractmethod - def values(self) -> list[str]: - """List of values, possibly ordered from most preferred to least""" - raise NotImplementedError - -A "variant feature config" MUST provide the following properties or -attributes: - -- ``name: str`` specifying the feature name. - -- ``multi_value: bool`` specifying whether the feature is allowed to - have multiple corresponding values within a single variant wheel. If - it is ``False``, then it is an error to specify multiple values for - the feature. - -- ``values: list[str]`` specifying feature values. In contexts where the - order is significant, the values MUST be ordered from the most - preferred to the least preferred. - -All features are interpreted as being within the plugin's namespace. - - -Plugin interface -'''''''''''''''' - -The plugin interface MUST follow the following protocol: - -.. code:: python - - from abc import abstractmethod - from typing import Protocol - - - class PluginType(Protocol): - # Note: properties are used here for docstring purposes, these - # must be actually implemented as attributes. - - @property - @abstractmethod - def namespace(self) -> str: - """The provider namespace""" - raise NotImplementedError - - @property - def is_aot_plugin(self) -> bool: - """Is this plugin valid for `install-time = false`?""" - return False - - @classmethod - @abstractmethod - def get_all_configs(cls) -> list[VariantFeatureConfigType]: - """Get all valid configs for the plugin""" - raise NotImplementedError - - @classmethod - @abstractmethod - def get_supported_configs(cls) -> list[VariantFeatureConfigType]: - """Get supported configs for the current system""" - raise NotImplementedError - -The plugin interface MUST define the following attributes: - -- ``namespace: str`` specifying the plugin's namespace. - -- ``is_aot_plugin: bool`` indicating whether the plugin is a valid AoT - plugin. If that is the case, ``get_supported_configs()`` MUST always - return the same value as ``get_all_configs()`` (modulo ordering), - which MUST be a fixed list independent of the platform on which the - plugin is running. Defaults to ``False`` if unspecified. - -The plugin interface MUST provide the following functions: - -- ``get_all_config() -> list[VariantFeatureConfigType]`` that returns a - list of "variant feature configs" describing all valid variant - features within the plugin's namespace, along with all their permitted - values. The ordering of the lists is insignificant here. A particular - plugin version MUST always return the same value (modulo ordering), - irrespective of any runtime conditions. - -- ``get_supported_configs() -> list[VariantFeatureConfigType]`` that - returns a list of "variant feature configs" describing the variant - features within the plugin's namespace that are compatible with this - particular system, along with their values that are supported. The - variant feature and value lists MUST be ordered from the most - preferred to the least preferred, as they affect `variant - ordering`_. - -The value returned by ``get_supported_configs()`` MUST be a subset of -the feature names and values returned by ``get_all_configs()`` (modulo -ordering). - -The value returned by ``get_supported_configs()`` MAY be cached -throughout multiple packages in a single install session. - - -Example implementation -'''''''''''''''''''''' - -.. code:: python - - from dataclasses import dataclass - - - @dataclass - class VariantFeatureConfig: - name: str - values: list[str] - multi_value: bool - - - # internal -- provided for illustrative purpose - _MAX_VERSION = 4 - _ALL_GPUS = ["narf", "poit", "zort"] - - - def _get_current_version() -> int: - """Returns currently installed runtime version""" - ... # implementation not provided - - - def _is_gpu_available(codename: str) -> bool: - """Is specified GPU installed?""" - ... # implementation not provided - - - class MyPlugin: - namespace = "example" - - # optional, defaults to False - is_aot_plugin = False - - # all valid properties - @staticmethod - def get_all_configs() -> list[VariantFeatureConfig]: - return [ - VariantFeatureConfig( - # example :: gpu -- multi-valued, since the package - # can target multiple GPUs - name="gpu", - # [narf, poit, zort] - values=_ALL_GPUS, - multi_value=True, - ), - VariantFeatureConfig( - # example :: min_version -- single-valued, since - # there is always one minimum - name="min_version", - # [1, 2, 3, 4] (order doesn't matter) - values=[str(x) for x in range(1, _MAX_VERSION + 1)], - multi_value=False, - ), - ] - - # properties compatible with the system - @staticmethod - def get_supported_configs() -> list[VariantFeatureConfig]: - current_version = _get_current_version() - if current_version is None: - # no runtime found, system not supported at all - return [] - - return [ - VariantFeatureConfig( - name="min_version", - # [current, current - 1, ..., 1] - values=[str(x) for x in range(current_version, 0, -1)], - multi_value=False, - ), - VariantFeatureConfig( - name="gpu", - # this may be empty if no GPUs are supported -- - # 'example :: gpu feature' is not supported then; - # but wheels with no GPU-specific code and only - # 'example :: min_version' could still be installed - values=[x for x in _ALL_GPUS if _is_gpu_available(x)], - multi_value=True, - ), - ] - - -Future extensions -''''''''''''''''' - -The future versions of this specification, as well as third-party -extensions MAY introduce additional properties and methods on the plugin -instances. The implementations SHOULD ignore additional attributes. - -For best compatibility, all private attributes SHOULD be prefixed with -an underscore (``_``) character to avoid incidental conflicts with -future extensions. - - Build backends -------------- -As a build backend can't determine whether the frontend supports variant -wheels or not, :pep:`517` and :pep:`660` hooks MUST build non-variant -wheels by default. Build backends MAY provide ways to request variant -builds. This specification does not define any specific configuration. - -When building variant wheels, build backends MUST verify variant -metadata for correctness, and they MUST NOT emit wheels with -nonconformant ``variant.json`` files. They SHOULD also query providers -to determine whether variant properties requested by the user are valid, -though they MAY permit skipping this verification and therefore emitting -variant wheels with potentially unknown properties. +The :pep:`517` and :pep:`660` build hooks do not indicate whether the +calling frontend supports variant wheels. To remain compatible with +existing frontends, build backends MUST therefore produce non-variant +wheels by default. They MAY provide an opt-in mechanism for requesting a +variant build, however this PEP does not standardize that mechanism. + +When producing a variant wheel, a build backend MUST validate its +variant metadata and MUST NOT emit a wheel whose ``variant.json`` file +does not conform to this specification. It SHOULD also query the +relevant providers to verify that the requested variant properties are +recognized. A backend MAY allow this provider-based verification to be +skipped, in which case the resulting wheel may contain unknown +properties. Variant environment markers --------------------------- -Four new :ref:`environment markers -` are introduced in -dependency specifications: - -1. ``variant_namespaces`` corresponding to the set of namespaces of all - the variant properties that the wheel variant was built for. -2. ``variant_features`` corresponding to the set of - ``namespace :: feature`` pairs of all the variant properties that the - wheel variant was built for. -3. ``variant_properties`` corresponding to the set of - ``namespace :: feature :: value`` tuples of all the variant - properties that the wheel variant was built for. -4. ``variant_label`` corresponding to the exact variant label that the - wheel was built with. For the non-variant wheel, it is an empty - string. - -The markers evaluating to sets of strings MUST be matched via the ``in`` -or ``not in`` operator, e.g.: +Variant wheels may require different dependencies depending on the +properties they were built for. Four new :ref:`environment marker +variables ` allow dependency +specifications to express these conditions: + +1. ``variant_namespaces`` is the set of namespaces used by the wheel's + variant properties. +2. ``variant_features`` is the set of ``namespace :: feature`` pairs + used by the wheel's variant properties. +3. ``variant_properties`` is the set of + ``namespace :: feature :: value`` tuples used by the wheel's variant + properties. +4. ``variant_label`` is the exact label of the wheel variant. Its value + is an empty string for a non-variant wheel. + +The first three markers have sets of strings as their values and MUST be +tested using the ``in`` or ``not in`` operator. For example: .. code:: @@ -2495,77 +1397,63 @@ or ``not in`` operator, e.g.: # satisfied only by "foo :: bar :: baz" property dep3; "foo :: bar :: baz" in variant_properties -The ``variant_label`` marker is a plain string: +The ``variant_label`` marker is a string and is compared using the usual +string operators: .. code:: # satisfied by the variant "foobar" dep4; variant_label == "foobar" - # satisfied by any wheel other other than the null variant + # satisfied by any wheel other than the null variant # (including the non-variant wheel) dep5; variant_label != "null" # satisfied by the non-variant wheel dep6; variant_label == "" -Implementations MUST ignore differences in whitespace while matching the -features and properties. - -Variant marker expressions MUST be evaluated against the variant -properties stored in the wheel being installed, not against the current -output of the provider plugins. If a non-variant wheel was selected or -built, all variant markers evaluate to ``False``. - - -ABI Dependency Variant Namespace (Optional) -------------------------------------------- - -This section describes an **OPTIONAL** extension to the wheel variant -specification. Tools that choose to implement this feature MUST follow -this specification. Tools that do not implement this feature MUST treat -the variants using it as incompatible, and SHOULD inform users when such -wheels are skipped. - -The variant namespace ``abi_dependency`` is reserved for expressing that -different builds of the same version of a package are compatible with -different versions or version ranges of a dependency. This namespace -MUST NOT be used by any variant provider plugin, it MUST NOT be listed -in ``providers`` metadata, and can only appear in a built wheel variant -property. - -Within this namespace, zero or more properties can be used to express -compatible dependency versions. For each property, the feature name MUST -be the :ref:`normalized name ` of the -dependency, whereas the value MUST be a valid release segment of -a public version identifier, as defined by the -:doc:`packaging:specifications/version-specifiers` specification. -It MUST contain up to three version components, that are matched against -the installed version same as the ``=={value}.*`` specifier. Notably, -trailing zeroes match versions with fewer components (e.g. ``2.0`` -matches release ``2`` but not ``2.1``). This also implies that the -property values have different semantics than PEP 440 versions, in -particular ``2``, ``2.0`` and ``2.0.0`` represent different ranges. - -Versions with nonzero epoch are not supported. - -==================================== ================== -Variant Property Matching Rule -==================================== ================== -``abi_dependency :: torch :: 2`` ``torch==2.*`` -``abi_dependency :: torch :: 2.9`` ``torch==2.9.*`` -``abi_dependency :: torch :: 2.8.0`` ``torch==2.8.0.*`` -==================================== ================== - -Multiple variant properties with the same feature name can be used to -indicate wheels compatible with multiple providing package versions, -e.g.: +When matching features and properties, implementations MUST ignore +differences in whitespace around the ``::`` separators. -.. code:: text +Variant marker expressions MUST be evaluated from the variant metadata +stored in the wheel being installed, not from the current output of the +provider plugins. For a non-variant wheel, the three set-valued markers +are empty and ``variant_label`` is an empty string. - abi_dependency :: torch :: 2.8.0 - abi_dependency :: torch :: 2.9.0 -This means the wheel is compatible with both PyTorch 2.8.0 and 2.9.0. +Security implications +===================== +Variant resolution may require executing code before a wheel is +selected. Package index metadata can identify Python packages that +provide plugins for querying system capabilities, and an installer may +need to install and run those plugins while resolving dependencies. This +introduces two additional supply-chain attack vectors: + +1. A provider plugin, or one of its dependencies, could publish a + malicious release. + +2. Introducing a malicious variant provider plugin in an existing + package metadata. + +Executing third-party code during installation is not a new risk: build +backends and build dependencies are already executed when installing +from source distributions. Provider plugins nevertheless extend that +risk to wheel-only workflows, which may otherwise assume that dependency +resolution and wheel installation do not execute code from additional +packages. + +Trust in provider plugins is handled separately from variant metadata. +As described in the Providers section, installers MUST NOT install or +execute an untrusted provider package without explicit user consent. +Installers MAY establish trust by using vetted allowlists, vendoring +specific versions, reimplementing providers, or shipping commonly used +providers directly. The specification also permits static provider +configuration, which avoids executing a plugin altogether. + +Making common providers available through trusted mechanisms allows most +variant resolution to work without additional prompts, while uncommon +providers remain subject to explicit opt-in. Keeping such prompts rare +also reduces the risk of users granting blanket approval out of consent +fatigue. How to teach this ================= @@ -2645,7 +1533,7 @@ installers. Aside from this explicit incompatibility, the specification makes minimal and non-intrusive changes to the binary package format. The -`variant metadata`_ is placed in a separate file in the ``.dist-info`` +variant metadata is placed in a separate file in the ``.dist-info`` directory, which should be preserved by tools that are not concerned with variants, limiting the necessary changes to updating the filename validation algorithm (if there is one). @@ -2692,42 +1580,6 @@ uses. Rejected ideas ============== -Variants being entirely or transitionally opt-in ------------------------------------------------- - -In discussing the security concerns, proposals were made to make variant -provider usage entirely opt-in, either permanently, or at least -initially to facilitate further testing. While such approaches may -alter who takes responsibility of vetting the provider code, and hence -the maintenance effort or number of packages/maintainers that need to be -trusted, they are not suitable as long-term solutions. - -Most importantly, the opt-in mechanism would lead to far worse user -experience out-of-the-box. For variant-enabled packages, the default -experience would be installing a suboptimal or outright broken variant. -It should be noted that variant-enabled packages may not only be -installed directly, but also as dependencies of other packages. -Therefore, for optimal user experience, all packages that are -variant-enabled or that feature dependencies that are variant-enabled, -would have to document appropriate installer-specific mechanisms for -enabling the respective provider plugins. - -The proliferation of this experience could have two significant -outcomes. The inability to make variants work out of the box for users -could lead to package maintainers refraining from using them, and -instead sticking to the earlier workarounds. What's even worse, it could -also lead to users eventually naively configuring their installers -to enable all variant providers unconditionally, effectively rendering -the provider usage opt-out for a large number of users, enabling all -kinds of supply chain attacks described in the `security implications`_ -section. - -The authors would like to emphasize that security cannot be achieved at -the cost of severely impaired user experience. Instead, the PEP attempts -to strike a balance by introducing a centrally maintained and vetted -pool of trusted providers. - - An approach without provider plugins ------------------------------------ @@ -2793,12 +1645,6 @@ dependencies and installed packages would be lost, as a ``torch`` dependency could effectively be satisfied by ``torch-cu129``. -Appendices -========== - -- :ref:`0817-variant-json-schema` - - References ========== @@ -2832,6 +1678,11 @@ and Zanie Blue. Change history ============== +- 14-Aug-2026 + + - Change to informational PEP + + - 18-Mar-2026 - Added high-level outlines of suggested implementation logic per type diff --git a/peps/pep-0817/appendix-variant-metadata-json-schema.rst b/peps/pep-0817/appendix-variant-metadata-json-schema.rst deleted file mode 100644 index 27f3871b867..00000000000 --- a/peps/pep-0817/appendix-variant-metadata-json-schema.rst +++ /dev/null @@ -1,11 +0,0 @@ -:orphan: - -.. _0817-variant-json-schema: - -Appendix: JSON Schema for Variant Metadata -========================================== - -.. literalinclude:: variant_schema.json - :language: json - :linenos: - :name: variant-json-schema diff --git a/peps/pep-0817/variant_schema.json b/peps/pep-0817/variant_schema.json deleted file mode 100644 index 010fabaeb96..00000000000 --- a/peps/pep-0817/variant_schema.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://wheelnext.dev/variants.json", - "title": "{name}-{version}-variants.json", - "description": "Combined index metadata for wheel variants", - "type": "object", - "properties": { - "default-priorities": { - "description": "Default provider priorities", - "type": "object", - "properties": { - "namespace": { - "description": "Default namespace priorities", - "type": "array", - "items": { - "type": "string", - "pattern": "^[a-z0-9_]+$" - }, - "minItems": 1, - "uniqueItems": true - }, - "feature": { - "description": "Default feature priorities (by namespace)", - "type": "object", - "patternProperties": { - "^[a-z0-9_]+$": { - "description": "Preferred features", - "type": "array", - "items": { - "type": "string", - "pattern": "^[a-z0-9_]+$" - }, - "minItems": 0, - "uniqueItems": true - } - }, - "additionalProperties": false, - "uniqueItems": true - }, - "property": { - "description": "Default property priorities (by namespace)", - "type": "object", - "patternProperties": { - "^[a-z0-9_]+$": { - "description": "Default property priorities (by feature) name", - "type": "object", - "patternProperties": { - "^[a-z0-9_]+$": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[a-z0-9_.]+$" - }, - "minItems": 0, - "uniqueItems": true - } - }, - "additionalProperties": false, - "uniqueItems": true - } - }, - "additionalProperties": false, - "uniqueItems": true - } - }, - "additionalProperties": false, - "uniqueItems": true, - "required": [ - "namespace" - ] - }, - "providers": { - "description": "Mapping of namespaces to provider information", - "type": "object", - "patternProperties": { - "^[A-Za-z0-9_]+$": { - "type": "object", - "description": "Provider information", - "properties": { - "plugin-api": { - "description": "Object reference to plugin class", - "type": "string", - "pattern": "^([a-zA-Z0-9._]+ *: *[a-zA-Z0-9._]+)|([a-zA-Z0-9._]+)$" - }, - "enable-if": { - "description": "Environment marker specifying when to enable the plugin", - "type": "string", - "minLength": 1 - }, - "optional": { - "description": "Whether the provider is optional", - "type": "boolean" - }, - "plugin-use": { - "description": "Whether a plugin is used: not at all, at build time or both at build and install time", - "type": "string", - "enum": [ - "none", - "build", - "all" - ] - }, - "requires": { - "description": "Dependency specifiers for how to install the plugin", - "type": "array", - "items": { - "type": "string", - "minLength": 1 - }, - "minItems": 0, - "uniqueItems": true - } - }, - "additionalProperties": false, - "uniqueItems": true, - "required": [ - "requires" - ] - } - }, - "additionalProperties": false, - "uniqueItems": true - }, - "variants": { - "description": "Mapping of variant labels to properties", - "type": "object", - "patternProperties": { - "^[a-z0-9_.]{1,16}$": { - "type": "object", - "description": "Mapping of namespaces in a variant", - "patternProperties": { - "^[a-z0-9_.]+$": { - "patternProperties": { - "^[a-z0-9_.]+$": { - "description": "list of possible values for this variant feature.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[a-z0-9_.]+$" - }, - "minItems": 1, - "uniqueItems": true - } - }, - "uniqueItems": true, - "additionalProperties": false - } - }, - "uniqueItems": true, - "additionalProperties": false - } - }, - "additionalProperties": false, - "uniqueItems": true - } - }, - "required": [ - "default-priorities", - "providers", - "variants" - ], - "uniqueItems": true -} From 74184cb63fd2181d37eabc39f9e2ab4242502f7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 26 Aug 2026 14:21:17 +0200 Subject: [PATCH 2/3] PEP 817: update to provide the high-level perspective Co-authored-by: rgommers --- peps/pep-0817.rst | 1439 +++++++---------- .../conceptual_diagram_installers.png | Bin 254901 -> 233872 bytes 2 files changed, 595 insertions(+), 844 deletions(-) diff --git a/peps/pep-0817.rst b/peps/pep-0817.rst index d3328ad0e3b..bb15a9bc0b0 100644 --- a/peps/pep-0817.rst +++ b/peps/pep-0817.rst @@ -55,9 +55,10 @@ user experience. Informational PEP ----------------- -This PEP presents the minimal scope required to meet modern heterogenous -system needs. It leaves aspects beyond the minimal scope to evolve via -tools or future PEPs. A non-exhaustive list of these aspects include: +This PEP presents the minimal scope required to meet modern +heterogeneous system needs. It leaves aspects beyond the minimal scope +to evolve via tools or future PEPs. A non-exhaustive list of these +aspects include: - The format of a static file to select variants deterministically or include variants in a ``pylock.toml`` file, @@ -114,7 +115,7 @@ tags: architecture and core system libraries (e.g., ``any`` for any platform, ``manylinux_2_34_x86_64`` for x86-64 Linux system with glibc 2.34 or newer, ``macosx_14_0_arm64`` for arm64 macOS 14.0 - or newer system. + or newer system). These tags are limited to expressing the most fundamental properties of the Python interpreter, operating system and the broad CPU @@ -195,7 +196,7 @@ on users also apply to other packages. PyTorch uses a combination of index URLs per accelerator type and local version segments as accelerator tag (such as ``+cu130``, ``+rocm6.4`` or -``+cpu``) . Users need to first determine the correct index URL for +``+cpu``). Users need to first determine the correct index URL for their system, and add an index specifically for PyTorch. .. code:: bash @@ -206,7 +207,7 @@ Tools need to implement special handling for the way PyTorch uses local version segments. These requirements break the pattern that packages are usually installed with. Problems with installing PyTorch are a very common point of user confusion. To quantify this, on -2025-12-05, 552 out of 8136 (6.8%), of issues on `uv's issue tracker +2025-12-05, 552 out of 8136 (6.8%) of issues on `uv's issue tracker `__ contained the term "torch". **Security Risk:** This approach has unfortunately led to supply @@ -256,7 +257,7 @@ not a goal. **Security Risk:** proliferation of suffixed variant packages leads users to expect these suffixes in other packages, making name squatting much easier. For example, one could create a malicious -``numpy-cuda`` package that users will be lead to believe it's a CUDA +``numpy-cuda`` package that users will be led to believe it's a CUDA variant of NumPy. As of the time of writing, CuPy_ has already registered a total of 55 @@ -294,8 +295,8 @@ plugin-based approach. The central ``jax`` package provides a number of extras that can be used to install additional plugins, e.g. ``jax[cuda12]`` or ``jax[tpu]``. This is far from ideal as ``pip install jax`` (with no extra) leads to a nonfunctional -installation, and consequently dependency chains, a fundamental expected -behavior in the Python ecosystem, are dysfunctional. +installation, and consequently breaks dependency chains, a fundamental +expected behavior in the Python ecosystem. JAX includes 12 extras to cover all use cases - many of which overlap and could be misleading to users if they don't read the @@ -365,7 +366,7 @@ and ABI requirements has led to ecosystem fragmentation: systems struggle to handle non-standard installation requirements. * **Fragility**: The established workarounds are often error-prone, - and in the past they have lead to issues such as downloading incorrect + and in the past they have led to issues such as downloading incorrect artifacts. @@ -533,8 +534,8 @@ The potential for improvement can be summarized as: Architect at OpenTeams -Prior art ---------- +Prior Art +========= This problem is not unique to the Python ecosystem, different groups and ecosystems have come up with various answers to that very problem. This @@ -543,7 +544,7 @@ different approaches taken by various communities. Conda - conda-forge -''''''''''''''''''' +------------------- `Conda `__ is a binary-only package ecosystem that uses aggregated metadata indexes for resolution rather than @@ -609,7 +610,7 @@ libraries, and CUDA driver version. Detection logic is tool-specific Spack / Archspec -'''''''''''''''' +---------------- `archspec `__ is a library for detecting, labeling, and reasoning about CPU microarchitecture variants, @@ -619,7 +620,7 @@ developed for the `Spack `__ package manager. ``skylake``, ``zen2``, ``armv8.1a``) form a `Directed Acyclic Graph (DAG) encoding binary compatibility `__, -which helps at resolve to express that ``packageB`` depends on +which helps the resolver express that ``packageB`` depends on ``packageA``. The ordering is partial because (1) separate ISA families are incomparable, and (2) contemporary designs may have incompatible feature sets—cascadelake and cannonlake are incomparable despite both @@ -645,7 +646,7 @@ when no exact match exists. Gentoo Linux -'''''''''''' +------------ `Gentoo Linux `__ is a source-first distribution with support for extensive package customization. This is primarily @@ -680,358 +681,462 @@ are used in conjunction with USE flags. For example, build against. -Design Space and rationale -========================== +The wheel variants design +========================= Wheel variant glossary ---------------------- -Variant Wheels +Variant wheels Wheels that share the same distribution name, version, build number, and platform compatibility tags, but are distinctly identified by an arbitrary set of variant properties. -Variant Namespace +Variant namespace An identifier used to group related features provided by a single provider (e.g., ``nvidia``, ``x86_64``, ``arm``, etc.). -Variant Feature +Variant feature A specific characteristic (key) within a namespace (e.g., - ``version``, ``avx512_bf16``, etc.) that can have one or more + ``sm_arch``, ``avx512_bf16``, etc.) that can have one or more values. -Variant Property +Variant property A 3-tuple (``namespace :: feature-name :: feature-value``) describing a single specific feature and its value. If a feature has multiple values, each is represented by a separate property. -Variant Label - A string (up to 16 characters) added to the wheel filename to - uniquely identify variants. +Variant label + A string added to the wheel filename to uniquely identify variants. -Null Variant +Null variant A special variant with zero variant properties and the reserved label ``null``. Always considered supported but has the lowest priority among wheel variants, while being preferably chosen over non-variant wheels. -Variant Provider - A provider of supported and valid variant properties for a specific - namespace, usually in the form of a Python package that implements - system detection. +Variant provider + A provider of valid variant properties for a specific namespace. + Can either be a static list of ordered properties, or a Python + package that dynamically determines the properties that are + compatible with the system. + + +Standards Track PEPs for wheel variants +--------------------------------------- + +This PEP aims to provide a concise high-level overview of wheel +variants. It does not cover the complete functionality proposed as part +of the standard, nor does it provide normative guidance on +implementing it. These are provided in subsequent PEPs. + +Currently, the following PEPs are published: + +- :pep:`PEP 825: Package Format <825>`: covering changes to the wheel + format, initial definition of variant metadata, index-level metadata + file, variant wheel ordering rules, environment markers and + ``pylock.toml`` integration. + +The following subsequent PEPs are currently planned: + +- Providers: covering the governance of variant namespaces; extending + variant metadata with provider information; introducing providers that + supply compatible properties statically via variant metadata or + dynamically via opt-in Python packages, along with the security + considerations for their use; defining the relevant plugin API; + introducing a special provider concerned with ABI compatibility. -Install-time Provider - A provider implemented as a plugin that can be queried during wheel - installation. +- Building: covering integration with build backends and + ``pyproject.toml`` file; extending variant metadata and plugin API to + support verifying the validity of variant properties and embedding + static properties via plugins at build time. -Ahead-of-Time Provider - A provider that features a static list of supported properties which - is then embedded in the wheel metadata. Such a list can either be - embedded in ``pyproject.toml`` or provided by a plugin queried at - build time. +- TBD: covering UX, maintainability, security, governance and + introduction strategy; introducing a community maintained repository + of trusted variant providers that can be integrated with installers + for opt-out behavior. +The scope and details of these PEPs may be subject to change. -Overview --------- + +High-level overview +------------------- Wheel variants introduce a more fine-grained specification of built -wheel characteristics beyond what existing wheel tags provide. -Individual wheels carry a human-readable label defined at build time, as -described in `modified wheel filename`_, and are characterizing using -`variant property system`_. The properties are organized into a -hierarchical structure of namespaces, features and feature values. When -evaluating wheels to install, the installer determines whether variant -properties of a given wheel are compatible with the system, and perform -variant ordering based on the priority of the compatible variant -properties. This is done in addition to determining the compatibility. -The ordering by variant properties takes precedence over ordering by -tags. - -Every variant namespace is governed by a variant provider. There are two -kinds of variant providers: install-time providers and ahead-of-time -(AoT) providers. Install-time providers require plugins that are queried -while installing wheels to determine the set of supported properties and -their preference order. For AoT providers, this data is static and -embedded in the wheel; it can be either provided directly by the -wheel maintainer or queried at wheel build time from an AoT plugin. - -Both kinds of plugins are usually implemented as Python packages which -implement the provider plugin API, but they may also be vendored or -reimplemented by installers to improve user experience, as outlined in -Providers. Plugin packages may be installed in isolated or -non-isolated environments. In particular, all plugins may be returned by -the ``get_requires_for_build_wheel()`` hook of a :pep:`517` backend, and -therefore installed along with other build dependencies. For this -reason, it is important that plugin packages do not narrowly pin -dependencies, as that could prevent different packages from being -installed simultaneously in the same environment. - -Metadata governing variant support is defined in ``pyproject.toml`` -file, and it is copied into ``variant.json`` file in wheels, as explored -in `metadata in source tree and wheels`_. Additionally, `variant -environment markers`_ can be used to define dependencies specific to a -subset of variants. - - -Modified wheel filename ------------------------ - -One of the core requirements of the design is to ensure that installers -predating this PEP will ignore wheel variant files. This makes it -possible to publish both variant wheels and non-variant wheels on a -single index, with installers that do not support variants securely -ignoring the former, and falling back to the latter. - -A variant label component is added to the filename for the twofold -purpose of providing a unique mapping from the filename to a set of -variant properties, and providing a human-readable identification for -the variant. The label is kept short and lowercase to avoid issues with -different filesystems. - -Variant property system ------------------------ - -Variant properties serve the purpose of expressing the characteristics -of the variant. Unlike platform compatibility tags, they are stored in -the variant metadata and therefore do not affect the wheel filename -length. They follow a hierarchical key-value design, with the key -further broken into a namespace and a feature name. Namespaces are used -to group features defined by a single provider, and to avoid conflicts -should multiple providers define a feature with the same name. This -permits independent governance and evolution of every namespace. - -The keys are restricted to lowercase letters, digits, and underscores. -Uppercase characters are disallowed to avoid different spellings of the -same name. The character set for values is more relaxed, to permit -values resembling versions. - -Variant properties are serialized into a structured 3-tuple format -inspired by Trove Classifiers in :pep:`301`: - -.. code-block:: text - - {namespace} :: {feature_name} :: {feature_value} - -Properties are used both to determine variant wheel compatibility, and -to select the best variant to install. Provider plugins indicate which -variant properties are compatible with the system, and order them by -importance. This ordering can further be altered in variant wheel -metadata. - -Variant features can be declared as allowing multiple values to be -present within a single variant wheel. If that is the case, these values -are matched as a logical OR, i.e. only a single value needs to be -compatible with the system for the wheel to be considered supported. On -the other hand, features are treated as a logical AND, i.e. all of them -need to be compatible. This provides some flexibility in designating -variant compatibility while avoiding having to implement a complete -boolean logic. - -Typically, variant features will be single-value and indicate minimal or -mutually exclusive requirements. The system may indicate multiple -compatible values. For example, if the feature declares a minimum CUDA -runtime version, the provider will indicate compatibility with wheels -requiring a minimum version corresponding to the currently installed -version or older, e.g. for CUDA 12.8, the compatible minimum versions -used in wheels would be, in order of decreasing preference: - -.. code-block:: text +wheel characteristics beyond what existing wheel tags provide. Every +variant wheel carries zero or more variant properties. Much like +:doc:`packaging:specifications/platform-compatibility-tags`, variant +properties are used both to determine whether the wheel is compatible +with the system in question and to select the most suitable wheel to +install from multiple compatible wheels. + +Unlike tags, variant properties are not stored in the wheel filename, +but in a dedicated metadata file inside the wheel. To distinguish +between different wheel variants and provide a human-readable +identification, variant wheels carry an additional variant label +component in the filename. This label is specified along with the rest +of variant metadata in the project's source tree (normally in +``pyproject.toml``), and it is processed by the build backend that +afterwards embeds it into the built wheel. Additionally, this +information is copied into a dedicated +``{name}-{version}-variants.json`` file on the index, so that clients +can obtain it without having to fetch the wheels. + +The properties are organized into a hierarchical structure of +namespaces, features and feature values. Every namespace is governed by +a variant provider that is also defined as part of the variant metadata. +The provider serves as the data source used to determine which variant +properties are compatible with the user's system, and to order them from +the most desirable to the least desirable. This information is +afterwards used to filter the available variant wheels into install +candidates, and select the one that is most preferred among them. The +data can either be provided in a static manner, in which case all the +compatible properties are embedded in the metadata, or it can be +dynamically established from a running system. + +Providers that need to establish property compatibility are normally +provisioned as installable Python packages implementing a plugin API. +They may also be vendored or reimplemented by installers to improve user +experience. + + +Variant properties +------------------ + +Variant properties can be thought of as a correspondence to and an +extension of +:doc:`packaging:specifications/platform-compatibility-tags`. In this +analogy, variant features are the equivalent of tag types, while their +values are the equivalent of the tags themselves. However, variant +features are not fixed and the wheel can have any number of them. +Furthermore, they are organized into namespaces that are governed +independently. + +A variant property encodes a single feature value that the wheel is +compatible with. Conversely, if the wheel is compatible with multiple +values of a given feature, they are represented by multiple properties. + +For example, let's say that a package defined a ``nvidia`` namespace +that permitted the following three features: + +1. ``nvidia :: cuda_version_lower_bound`` specifying the minimum + supported CUDA runtime version. +2. ``nvidia :: cuda_version_upper_bound`` specifying the maximum + supported CUDA runtime version. +3. ``nvidia :: sm_arch`` specifying a single supported GPU architecture. + +This package produced a wheel with the following variant properties: + +.. code:: text nvidia :: cuda_version_lower_bound :: 12.8 - nvidia :: cuda_version_lower_bound :: 12.7 - nvidia :: cuda_version_lower_bound :: 12.6 - ... + nvidia :: sm_arch :: 120_real + nvidia :: sm_arch :: 110_real -Similarly, a wheel could indicate its minimum required CPU version, and -the provider will indicate all the compatible CPU versions. +This would imply the following: -Multi-value features are useful for "fat" packages where multiple -incompatible targets are supported by a single package. A typical -example are GPUs. In this case, the wheel declares a number of supported -GPUs, and the provider indicates which GPUs are actually installed -(usually one). The wheel is compatible if there is overlap between the -two lists. +- The wheel can only be installed on a system compatible with the + ``nvidia :: cuda_version_lower_bound :: 12.8`` property, that is + featuring installed CUDA runtime version 12.8 or newer. +- Since there is no ``nvidia :: cuda_version_upper_bound``, that feature + is not taken into consideration and there is no upper bound on CUDA + runtime version. +- The wheel can only be installed on a system compatible with at least + one of the ``nvidia :: sm_arch`` values listed, that is having a GPU + with ``120_real`` or ``110_real`` architecture. -Null variant ------------- +An end-to-end example +--------------------- -A null variant is a variant wheel with no properties, but distinct -from non-variant wheels in having the ``null`` variant label and variant -metadata. During the transition period, it provides the possibility of -providing a distinct fallback for systems that do not support any of -the variants provided, and for systems that do support variant wheels at -all. - -For example, a package with optional GPU support could publish three -kinds of wheels: - -- Multiple GPU-enabled wheels, each built for a single CUDA version with - a matching set of supported GPUs, and used only when the provider - plugin indicates that the system is compatible. - -- A CPU-only null variant, much smaller than the GPU variants, installed - when the provider plugin indicates that no compatible GPU is - installed. - -- A GPU+CPU non-variant wheel, that will be installed on systems without - an installer supporting variants. - -Publishing a null variant is optional, and makes sense only if distinct -fallbacks provide advantages to the user. If one is published, a wheel -variant-enabled installer will prefer it over the non-variant wheel. If -it is not, it will fall back to the non-variant wheel instead. The -non-variant wheel is also used if variant support is explicitly disabled -by an installer flag. - -The null variant uses a reserved ``null`` label to make it clearly -distinguishable from regular variants. - - -Install-time and Ahead-of-Time providers ----------------------------------------- - -The variant wheel metadata specifies what providers are used for its -properties. Providers serve a twofold purpose: - -a. at install time: determining which variant wheels are compatible with - the user's system, and which of them constitutes the best choice, and - -b. at build time: determining which variant properties are valid for - building a wheel. - -The specification proposes two kinds of providers: install-time -providers and Ahead-of-Time providers. - -Install-time providers are implemented either as Python packages that -need to be installed and run to query them, or vendored or reimplemented -in the tools. They are used when user systems need to be queried to -determine wheel compatibility, for example for variants utilizing GPUs -or requiring CPU instruction sets beyond what platform tags provide. -Installing third-party packages involves security risks highlighted in -the `security implications`_ section, and the proposed mitigations incur -a cost on installer implementations. - -Ahead-of-Time providers are implemented as static metadata embedded in -the wheel. They are used when particular variant properties are always -compatible with the user's system (provided that a wheel using them has -been built successfully). However, the metadata indicates which -properties are preferred. For example, AoT providers can be used to -provide choice between builds against different BLAS / LAPACK providers, -or to provide debug builds of packages. Since they do not require -running code external to the installer, they do not pose the problems -faced by install-time providers, and can be used more liberally. - -AoT providers are permitted to feature plugin packages. If that is the -case, these packages are only used when building wheels, and their -output is used to fill in the static metadata used at install time. -This way, it is easier to use consistent property names and values -across multiple packages. Otherwise, the package maintainer needs to -include the supported properties directly in the ``pyproject.toml`` -file. - -When implemented as Python packages, both kinds of provider plugins -expose roughly the same API. However, an AoT provider must always -consider all valid variant properties supported, and it must always -return the same ordered list of supported properties irrespective of the -user system. All AoT providers can technically be used as install-time -providers, but not the other way around. - - -Variant Discovery ------------------ +The following subsections present a complete example of building a +variant wheel, publishing it on an index and installing it on a system. +It covers the baseline scenario where wheel compatibility needs to be +determined at install time, by inspecting the target system. Other cases +will be discussed in subsequent sections. -The wheel variant proposal introduces the ability to take package resolution decisions -based on the user system. This ability is non-specific and flexible, allowing -any current or future system properties to be used as part of the variant discovery process. -Platform tags are essentially a subset of what this work is proposing. PEP 817 is focused on -providing a flexible and extensible mechanism for variant discovery. +Building variant wheels +''''''''''''''''''''''' -Metadata in source tree and wheels ------------------------------------ - -Variants introduce a few new portions of metadata that are stored in the -source tree and in wheels. In the source tree, it is stored in the -``pyproject.toml`` file along with other project properties, benefiting -from the TOML format's readability and strictness. +The recommended way of integrating variant wheel support in a build +backend is to store variant metadata in the ``pyproject.toml`` file, and +to select the variant being built via a ``config_settings`` parameter. -The metadata in ``pyproject.toml`` includes: +Consider the following example: -- information about variant providers that could be used by the wheels, -- optionally, lists overriding the default property ordering, -- static property lists for Ahead-of-Time providers that do not use - plugins. +.. code-block:: toml -.. code:: toml + [variant] + "$schema" = "..." [variant.default-priorities] - namespace = ["x86_64", "aarch64"] + # specifies preference ordering: nvidia support is more important + # than x86_64 optimizations + namespace = ["nvidia", "x86_64"] - # prefer aarch64 version and x86_64 level features over other features - # (specific CPU extensions like "sse4.1") - feature.aarch64 = ["version"] - feature.x86_64 = ["level"] + # == provider definitions == - # prefer x86-64-v3 and then older (even if CPU is newer) - property.x86_64.level = ["v3", "v2", "v1"] - - [variant.providers.aarch64] - # example using different package based on Python version - requires = [ - "provider-variant-aarch64 >=0.0.1; python_version >= '3.12'", - "legacy-provider-variant-aarch64 >=0.0.1; python_version < '3.12'", - ] - # use only on aarch64/arm machines - enable-if = "platform_machine == 'aarch64' or 'arm' in platform_machine" - plugin-api = "provider_variant_aarch64.plugin:AArch64Plugin" + [variant.providers.nvidia] + requires = ["nvidia-variant-provider"] [variant.providers.x86_64] - requires = ["provider-variant-x86-64 >=0.0.1"] - # use only on x86_64 machines - enable-if = "platform_machine == 'x86_64' or platform_machine == 'AMD64'" - plugin-api = "provider_variant_x86_64.plugin:X8664Plugin" + requires = ["x86-64-variant-provider"] + + # == buildable variant definitions == + + [variant.variants.cu130] + nvidia.cuda_version_lower_bound = ["13.0"] + nvidia.sm_arch = ["120_virtual", "120_real", "100_real", "90_real"] + + [variant.variants.x86_64_v4] + x86_64.level = ["v4"] + +This example defines two providers: ``nvidia`` responsible for NVIDIA +CUDA support, and ``x86_64`` responsible for x86_64 CPU optimizations. +These two providers are used to specify two buildable variants: + +- ``cu130`` that corresponds to a package using CUDA 13.0 support +- ``x86_64_v4`` that corresponds to a package using code optimized for + x86-64-v4 CPU + +Per the precedence rules specified in +``variant.default-priorities.namespace``, the ``cu130`` variant +featuring GPU support will be preferred if CUDA runtime and a compatible +GPU are available. Otherwise, the ``x86_64_v4`` variant will be the next +best choice, provided a compatible CPU is available. + +A specific variant would then be built via an invocation such as:: + + python -m build -w -Cvariant-label=cu130 + +A build backend could behave in the following way: + +1. Detect ``variant-label`` in ``config_settings``, and enable variant + wheel builds. +2. Validate the ``variant`` table against the schema. +3. Find the ``cu130`` label in the ``variant.variants`` table, and + determine the corresponding properties. +4. In ``get_requires_for_build_wheel()`` hook, return the plugin + packages needed for the namespaces found in the properties. This will + cause the build frontend to install them in the build environment. +5. Query the installed plugins to verify that the variant properties are + valid. +6. Construct the ``*.dist-info/variant.json`` file from the ``variant`` + table. The ``variants`` subtable is filtered to the entry for the + variant being built, the remaining subtables are copied verbatim. +7. Build the wheel. This could involve processing tool-specific + configuration to apply variant-specific modifications to the build + process. + +The wheel would be named ``*-cu130.whl``. In it, the variant metadata +file ``*.dist-info/variant.json`` would be similar to the following +example: + +.. code-block:: json5 + + { + // == copied verbatim from pyproject.toml == + + "$schema": "...", + + "default-priorities": { + "namespace": ["nvidia", "x86_64"] + }, + + "providers": { + "nvidia": { + "requires": ["nvidia-variant-provider"] + }, + "x86_64": { + "requires": ["x86-64-variant-provider"] + } + }, + + // == actual properties of the built variant wheel == + + "variants": { + "cu130": { + "nvidia": { + "cuda_version_lower_bound": ["13.0"], + "sm_arch": ["120_virtual", "120_real", "100_real", "90_real"] + } + } + } + } + +Publishing variant wheels on an index +''''''''''''''''''''''''''''''''''''' + +To enable resolvers to select between different variant wheels without +having to fetch the variant metadata straight from wheel files, an +index-level metadata file ``{name}-{version}-variants.json`` needs to +be published alongside these wheels. + +Initially this could be done via running a dedicated tool on all built +variant wheels, for example by invoking:: + + variantlib generate-index-json -d dist/ + +The tool collects the variant metadata from all wheels, ensures that it +is consistent and merges it to create the index-level metadata file. +This file can be then uploaded to the index alongside variant wheels. -Afterwards, it is converted into an equivalent JSON structure, and stored as a separate -file in the ``.dist-info`` directory. The existing metadata files are -unchanged to avoid unnecessary incompatibility, and to avoid serializing -into the inconvenient :doc:`Core Metadata -` format. +Eventually, this manual step will no longer be necessary when uploading +variant wheels to PyPI: PyPI will automatically detect that a variant +wheel is uploaded, read its variant metadata and merge it into its +database. The combined metadata from the database will be published at +the URL corresponding to the index-level metadata file. +The index-level metadata file for the two ``*-cu130.whl`` and +``*-x86_64_v4.whl`` files could look like: -ABI dependency variant provider -------------------------------- +.. code-block:: json5 -Scientific and machine-learning packages often link against native -dependencies such as BLAS/LAPACK implementations, MPI runtimes, or -scientific computing libraries such as PyTorch. Their Application Binary -Interfaces (ABIs) may vary by implementation, build configuration, or version; -incompatible combinations can fail to import, crash, or behave incorrectly. -Downstream wheels therefore commonly use narrow dependency pins, which can make -an environment containing multiple such packages impossible to resolve. + { + // == copied verbatim from variant.json == -Variants allow a single release to provide wheels built against several -supported dependency ABIs. An installer that considers these variants -during dependency resolution can select mutually compatible wheels and -dependency versions, reducing overly narrow pins and avoiding unnecessary -source builds. + "$schema": "...", -Unfortunately, such a variant provider cannot be implemented within the -plugin API defined by the specification. Given that a robust -implementation would need to interface with the dependency resolver, -rather than attempt to extend the API to cover this use case and add -significant complexity as a result, the specification reserves -``abi_dependency`` as a special variant namespace that can be -implemented by installers wishing to provide this feature. + "default-priorities": { + "namespace": ["nvidia", "x86_64"] + }, -Given the complexity of the problem, this extension is made entirely -optional. This implies that any packages using it need to provide -non-variant wheels as well. + "providers": { + "nvidia": { + "requires": ["nvidia-variant-provider"] + }, + "x86_64": { + "requires": ["x86-64-variant-provider"] + } + }, + // == merged from different variant wheels == + + "variants": { + "cu130": { + "nvidia": { + "cuda_version_lower_bound": ["13.0"], + "sm_arch": ["120_virtual", "120_real", "100_real", "90_real"] + } + }, + "x86_64_v4": { + "x86_64": { + "level": ["v4"] + } + } + } + } + + +Querying a provider +''''''''''''''''''' + +The primary function of a provider is to determine which of the variant +properties are compatible with the user's system, and to order them from +the most preferable to the least preferable. For example, the purpose of +the ``nvidia`` provider used in the example is to determine whether the +user's system features a compatible NVIDIA CUDA runtime and a GPU, while +the purpose of the ``x86_64`` provider is to determine what CPU is used +and whether the instruction sets used in the wheel are supported by it. + +Both these providers rely on install-time checks. It is also possible to +define providers that do not require these checks, and these are +explained in `static properties in wheels`_. + +The most common providers, such as the ``nvidia`` provider in the +example, will likely be vendored or reimplemented by installers, and +they will work in an opt-out manner. + +For providers that are not provided by the installers themselves, the +Python packages listed in the ``requires`` list will be needed to +determine the compatibility and preference order. These packages are +opt-in by default. If the user opts in to using them, they are installed +into an isolated environment and queried via a dedicated API. Otherwise, +they are not used and the properties are assumed to be incompatible. + +Furthermore, it is possible to override the provider queries by `using +static compatibility information`_. + + +Using static compatibility information +'''''''''''''''''''''''''''''''''''''' + +While installing wheels natively and determining property compatibility +at install time is the primary use case for variant wheels, it is +considered equally important for users to be able to provide +compatibility information in a static format. This serves the twofold +goal of being able to avoid plugin invocations and being able to install +the package for another configuration than reported for the system where +the installer is being run. + +While the installers have the final choice of how to implement this, we +are planning to propose a standardized format based on TOML, to make it +suitable both for machine processing and human editing. For example, a +standard tool could query the system using installed variant provider +plugins and output a file resembling the following: + +.. code-block:: toml + + [variant] + "$schema" = "..." + + [[variant.providers]] + # specifies the exact package version used to generate the data + requires = ["nvidia-variant-provider==1.0.0"] + # ordering for the features listed below + feature-order = [ + "cuda_version_lower_bound", + "cuda_version_upper_bound", + "sm_arch", + ] + # properties queried from the plugin, in order of preference + [variant.providers.static-properties] + # CUDA 13.0 is installed, so all minimum versions lower than that + # are acceptable; the wheel built for the newest minimum version + # is preferred + cuda_version_lower_bound = [ + "13.0", "12.20", "12.19", "12.18", # ... + ] + # conversely, maximum versions higher than 13.0 are acceptable + # (the plugin generates a "safe" range); the wheel built for the + # highest maximum version is preferred + cuda_version_upper_bound = [ + "15.20", "15.19", "15.18", # ... + "13.0" + ] + # sm120 compatible GPU is installed; "real" is preferred over + # "virtual" + sm_arch = [ + "120_real", "120_virtual" + ] + + [[variant.providers]] + requires = ["x86-64-variant-provider==1.0.0"] + feature-order = [ + "level", + "avx512vl", + "avx512dq", + "avx512cd", + ] + [variant.providers.static-properties] + # x86-64-v4 CPU is compatible with all older versions; higher + # (more optimized) levels are preferred + level = ["v4", "v3", "v2", "v1"] + # explicit instruction sets that are supported by the CPU + avx512vl = ["on"] + avx512dq = ["on"] + avx512cd = ["on"] + # ... + +Such a file could then be passed to an installer to use in place of +properties obtained from plugins. The installer would match the provider +entries based on the ``requires`` key. Depending on the configuration, a +provider not covered by the static file could either result in querying +the plugin, throwing an explicit error or treating the wheel as +incompatible. -Suggested implementation logic for a packaging tool ---------------------------------------------------------- Installing a package from an index '''''''''''''''''''''''''''''''''' @@ -1040,8 +1145,8 @@ Installing a package from an index :target: _images/conceptual_diagram_installers.png :class: invert-in-dark-mode :alt: A diagram showing installing a package including variant wheel - building. It is split into three columns: Developer, Installer - and Install-time providers. The diagram starts with Develop + handling. It is split into three columns: Developer, Installer + and Install-time providers. The diagram starts with Developer initiating package install. The subsequent steps involve installer, in order: resolver selects package version; determine if release has variant wheels. If there are no @@ -1065,506 +1170,220 @@ Installing a package from an index A conceptual diagram of installing a wheel. -When asked to install a version of a package from an index, the proposed -tool behavior would be to: - -1. Query the remote index for the desired package. -2. Select an initial match for a package version meeting the version constraints, - as usual (this does not need to take variant metadata into account). -3. Filter available wheels based on Platform Compatibility Tags. -4. Determine if any of the remaining wheels are variant wheels. - If not, proceed as with non-variant wheels. -5. If any wheels feature variant labels, download the index-level - variant metadata file, ``{name}-{version}-variants.json``. If this - file is missing, assume all variant wheels are incompatible and - proceed as with non-variant wheels. -6. Map the variant labels into sets of variant properties using the - index-level variant metadata file. If any of the labels present in - wheel filenames are missing in the file, assume that the respective - wheels are incompatible. -7. Obtain the ordered lists of supported variant properties using - providers specified in the index-level variant metadata file: - - - for the enabled AoT providers, obtain them from static property - data in the index-level variant metadata file. - - for the enabled install-time providers: - - - if the user provided static compatibility information, use that. - - otherwise, if the provider is vendored or reimplemented, query it - in implementation-specific manner. - - otherwise, if the Python provider package is considered secure - (either by the installer or via explicit user opt-in), install it - in an isolated environment, and query it via the plugin API. - - if none of the above applies, do not run the provider and either - consider the variant properties incompatible, or fail the - installation. - - - for the disabled providers (e.g. opt-in providers that were not - enabled by the user, providers excluded via environment markers), - assume that all variant properties in the namespace are - incompatible. - -8. Filter and order variants based on the lists of supported properties, - and select the most preferred variant. If no variant wheel matched, - use the non-variant wheels by their rules. -9. If multiple wheels for a given version share the same variant label, - order them by Platform compatibility tags and build number, and - select the best wheel. - - -Installing a local wheel -'''''''''''''''''''''''' - -When asked to install a local wheel file, the tool's proposed behavior would be -to: - -1. If no variant label is present in the filename, proceed as with - non-variant wheels. -2. Verify the wheel compatibility via Platform compatibility tags. -3. Read variant metadata from ``*.dist-info/variant.json`` inside the - wheel file. -4. Obtain the ordered lists of supported variant properties, as when - `installing a package from an index`_. -5. Verify the wheel compatibility via supported properties. - - -Building a variant wheel -'''''''''''''''''''''''' - -In order to build a variant wheel, the build backend needs to receive a -list of variant properties and a variant label. The recommended way to -do that is to use backend-defined keys in the ``config_settings`` -dictionary passed to the build backend hooks. - -When building a variant wheel, the proposed behavior for the build -backend would be to: - -1. Read variant provider metadata from ``pyproject.toml``. -2. Verify that all namespaces specified in the user-defined variant - properties have a corresponding provider in the metadata. -3. In the ``get_requires_for_build_wheel()`` hook, return variant - provider plugin packages along with other build dependencies. -4. In the ``build_wheel()`` hook, query the provider plugins - ``get_all_configs()`` function to obtain all valid property keys and - values. Use it to verify that the specified properties are correct. -5. Convert the variant metadata from ``pyproject.toml`` to JSON, append - the mapping from variant label to variant properties and write the - result into the wheel's ``*.dist-info/variant.json`` file. -6. Build the wheel as usual, except for including the - ``*.dist-info/variant.json`` and the variant label in the filename. - - -Publishing variant wheels on an index -''''''''''''''''''''''''''''''''''''' - -Variant wheels are uploaded to an index in the same way as regular -wheels. However, installers need aggregated metadata to discover and -evaluate the available variants without downloading every wheel in a -release. For each package version, the index therefore serves a -``{name}-{version}-variants.json`` file containing the combined variant -metadata for that release. - -The file can either be prepared and uploaded by the publisher or -generated by the index from the metadata embedded in the uploaded -wheels. Once published, it SHOULD not change, because clients MAY have -cached it or recorded its hash in a lock file. An index that generates -the file should therefore wait until the release is fully uploaded -before publishing it, for example by using a :pep:`694` upload session. - -An index generates the ``{name}-{version}-variants.json`` file as -follows: - -1. Copy the data from the first variant wheel's - ``*.dist-info/variant.json`` file. -2. Merge the data from each subsequent variant wheel into the existing - data according to these rules: - - - entries with distinct keys in ``providers``, ``static-properties``, - and ``variants`` are added; - - entries with the same key must have exactly the same value; - - ``default-priorities.namespace`` may be extended by appending new - values, but existing values must not be changed or reordered; - - entries may be added to ``default-priorities.feature`` and - ``default-priorities.value`` for namespaces newly appended to - ``default-priorities.namespace``; and - - all other values must match exactly. - - -Example use cases ------------------ - -PyTorch CPU/GPU variants -'''''''''''''''''''''''' - -As of October 2025, `PyTorch -`__ publishes a total of seven -variants for every release: a CPU-only variant, three CUDA variants with -different minimal CUDA runtime versions and supported GPUs, two ROCm -variants and a Linux XPU variant. - -This setup could be improved using GPU/XPU plugins that query the -installed runtime version and installed GPUs/XPUs to filter out the -wheels for which the runtime is unavailable, it is too old or the user's -GPU is not supported, and order the remaining variants by the runtime -version. The CPU-only version is published as a null variant that is -always supported. - -If a GPU runtime is available and supported, the installer automatically -chooses the wheel for the newest runtime supported. Otherwise, it falls -back to the CPU-only variant. In the corner case when multiple -accelerators are available and supported, PyTorch package maintainers -indicate which one takes preference by default. - - -Optimized CPU variants -'''''''''''''''''''''' - -Wheel variants can be used to provide variants requiring specific CPU -extensions, beyond what platform tags currently provide. They can be -particularly helpful when runtime dispatching is impractical, when the -package relies on prebuilt components that use instructions above the -baseline, when availability of instruction sets implies library ABI -changes, or simply to benefit from compiler optimizations such as -auto-vectorization applied across the code base. - -For example, an x86-64 CPU plugin can detect the capabilities for the -installed CPU, mapping them onto the appropriate x86-64 architecture -level and a set of extended instruction sets. Variant wheels indicate -which level and/or instruction sets are required. The installer filters -out variants that do not meet the requirements and select the best -optimized variant. A non-variant wheel can be used to represent the -architecture baseline, if supported. - -Implementation using wheel variants makes it possible to provide -fine-grained indication of instruction sets required, with plugins that -can be updated as frequently as necessary. In particular, it is neither -necessary to cover all available instruction sets from the start, nor to -update the installers whenever the instruction set coverage needs to be -improved. - - -BLAS / LAPACK variants -'''''''''''''''''''''' - -Packages such as NumPy_ and SciPy_ can be built using different BLAS / -LAPACK libraries. Users may wish to choose a specific library for -improved performance on a particular hardware, or based on license -considerations. Furthermore, different libraries may use different -OpenMP implementations, whereas using a consistent implementation across -the stack can avoid degrading performance through spawning too many -threads. - -BLAS / LAPACK variants do not require a plugin at install time, since -all variants built for a particular platform are compatible with it. -Therefore, an ahead-of-time provider (with ``install-time = false``) -that provides a predefined set of BLAS / LAPACK library names can be -used. When the package is installed, normally the default variant is -used, but the user can explicitly select another one. - - -Debug package variants -'''''''''''''''''''''' - -A package may wish to provide a special debug-enabled builds for -debugging or CI purposes, in addition to the regular release build. For -this purpose, an optional ahead-of-time provider can be used -(``install-time = false`` with ``optional = true``), defining a custom -property for the debug builds. Since the provider is disabled by -default, users normally install the non-variant wheel providing the -release build. However, they can easily obtain the debug build by -enabling the optional provider or selecting the variant explicitly. - - -Package ABI matching -'''''''''''''''''''' - -Packages such as vLLM_ -need to be pinned to the PyTorch version they were built against to -preserve Application Binary Interface (ABI) compatibility. This often -results in unnecessarily strict pins in package versions, making it -impossible to find a satisfactory resolution for an environment -involving multiple packages requiring different versions of PyTorch, or -resorting to source builds. Variant wheels can be used to publish -variants of vLLM built against different PyTorch versions, therefore -enabling upstream to easily provide support for multiple versions -simultaneously. - -The optional ``abi_dependency`` extension can be used to build multiple -``vllm`` variants that are pinned to different PyTorch versions, e.g.: - -- ``vllm-0.11.0-...-torch29.wheel`` with - ``abi_dependency :: torch :: 2.9`` -- ``vllm-0.11.0-...-torch28.wheel`` with - ``abi_dependency :: torch :: 2.8`` -- ``vllm-0.11.0-...-torch27.wheel`` with - ``abi_dependency :: torch :: 2.7`` - -Integration with ``pylock.toml`` --------------------------------- - -The :doc:`packaging:specifications/pylock-toml` format does not currently -represent wheel variants. A future revision could include variant -metadata so that installers can preserve variant information when -resolving and installing from a lock file. - -One possible representation follows: - -.. code:: rst - - .. _pylock-packages-variants-json: - - ``[packages.variants-json]`` - ---------------------------- - - - **Type**: table - - **Required?**: no; requires that :ref:`pylock-packages-wheels` is used, - mutually-exclusive with :ref:`pylock-packages-vcs`, - :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`. - - **Inspiration**: uv_ - - The URL or path to the ``variants.json`` file. - - Only used if the project uses :ref:`wheel variants `. - - .. _pylock-packages-variants-json-url: - - ``packages.variants-json.url`` - '''''''''''''''''''''''''''''' - - See :ref:`pylock-packages-archive-url`. - - .. _pylock-packages-variants-json-path: - - ``packages.variants-json.path`` - ''''''''''''''''''''''''''''''' - - See :ref:`pylock-packages-archive-path`. +When asked to install a package from an index, the installer would: + +1. Query the remote index and select a version. Obtain the list of files + (distributions) for the selected version. +2. Initially filter wheels based on Platform Compatibility Tags. +3. Determine if any of the remaining wheels are variant wheels (have a + variant label in the filename). Let's say that in this case we found + ``*-cu130.whl`` and ``*-x86_64_v4.whl`` variants. +4. Find the ``{name}-{version}-variants.json`` file corresponding to + the selected version. Fetch the file and parse the variant metadata + in it. +5. Obtain property lists corresponding to the labels in the installable + variant wheels from the metadata file. Construct a set of all + namespaces used in them. +6. Obtain the provider information corresponding to these namespaces + from the metadata file. In this case the set is + ``{"nvidia", "x86_64"}``. +7. Query the providers to determine whether the properties of the + variant wheels on the list are compatible. Discard the variant wheels + that are incompatible. Let's say that both ``*-cu130.whl`` and + ``*-x86_64_v4.whl`` are compatible. +8. If any variant wheels remained, order them primarily based on + ``default-priorities.namespace`` and secondarily based on the data + obtained from the providers, and select the most appropriate variant. + In this case, the ``*-cu130.whl`` variant is selected. +9. If there are multiple wheels with the selected label but different + Platform Compatibility Tags, select the most appropriate of them + based on Platform Compatibility Tags. + + +Static properties in wheels +--------------------------- - .. _pylock-packages-variants-json-hashes: +A secondary use case for variant wheels is providing an explicit user +choice between multiple variants that are always supported. Examples +include numerical packages built against different BLAS / LAPACK +implementations, OpenMP implementations, etc. The key difference is that +every variant wheel that was built for a given platform is always +compatible with it, therefore there is no need for querying a provider +at install time. The design proposes using providers with static +properties for that purpose. - ``packages.variants-json.hashes`` - ''''''''''''''''''''''''''''''''' +For example, a package supporting multiple BLAS / LAPACK variants could +declare them in the following way in its ``pyproject.toml``: - See :ref:`pylock-packages-archive-hashes`. +.. code-block:: toml -If there is a ``[packages.variants-json]`` section, the installer SHOULD -resolve variants to select the best wheel file. + [variant] + "$schema" = "..." + [variant.default-priorities] + namespace = ["blas_lapack"] -Build backends --------------- + [variant.providers.blas_lapack.static-properties] + # in preference order + library = ["openblas", "mkl", "netlib"] -The :pep:`517` and :pep:`660` build hooks do not indicate whether the -calling frontend supports variant wheels. To remain compatible with -existing frontends, build backends MUST therefore produce non-variant -wheels by default. They MAY provide an opt-in mechanism for requesting a -variant build, however this PEP does not standardize that mechanism. + [variant.variants.openblas] + blas_lapack.library = ["openblas"] -When producing a variant wheel, a build backend MUST validate its -variant metadata and MUST NOT emit a wheel whose ``variant.json`` file -does not conform to this specification. It SHOULD also query the -relevant providers to verify that the requested variant properties are -recognized. A backend MAY allow this provider-based verification to be -skipped, in which case the resulting wheel may contain unknown -properties. + [variant.variants.mkl] + blas_lapack.library = ["mkl"] + [variant.variants.netlib] + blas_lapack.library = ["netlib"] -Variant environment markers ---------------------------- +In this case there is no provider plugin defined, and properties are +declared statically in the file instead. They are copied into the built +wheel. The installer considers all three ``blas_lapack :: library`` +values supported, with ``openblas`` being most preferred and ``netlib`` +being least preferred. -Variant wheels may require different dependencies depending on the -properties they were built for. Four new :ref:`environment marker -variables ` allow dependency -specifications to express these conditions: +For example, if wheels for a given platform feature all three variants, +``openblas`` will be selected by default, and the user will be able to +explicitly override the choice to use another variant. If there is no +``openblas`` variant, ``mkl`` will be chosen instead. ``netlib`` will +only be used by default if both other variants are missing. -1. ``variant_namespaces`` is the set of namespaces used by the wheel's - variant properties. -2. ``variant_features`` is the set of ``namespace :: feature`` pairs - used by the wheel's variant properties. -3. ``variant_properties`` is the set of - ``namespace :: feature :: value`` tuples used by the wheel's variant - properties. -4. ``variant_label`` is the exact label of the wheel variant. Its value - is an empty string for a non-variant wheel. +Alternatively, a plugin can be used to provide a static list of values +that is consistent across different packages: -The first three markers have sets of strings as their values and MUST be -tested using the ``in`` or ``not in`` operator. For example: +.. code-block:: toml -.. code:: + [variant] + "$schema" = "..." - # satisfied by any "foo :: * :: *" property - dep1; "foo" in variant_namespaces - # satisfied by any "foo :: bar :: *" property - dep2; "foo :: bar" in variant_features - # satisfied only by "foo :: bar :: baz" property - dep3; "foo :: bar :: baz" in variant_properties - -The ``variant_label`` marker is a string and is compared using the usual -string operators: + [variant.default-priorities] + namespace = ["blas_lapack"] -.. code:: + [variant.providers.blas_lapack] + build-requires = ["blas-lapack-provider-plugin"] - # satisfied by the variant "foobar" - dep4; variant_label == "foobar" - # satisfied by any wheel other than the null variant - # (including the non-variant wheel) - dep5; variant_label != "null" - # satisfied by the non-variant wheel - dep6; variant_label == "" + [variant.variants.openblas] + blas_lapack.library = ["openblas"] -When matching features and properties, implementations MUST ignore -differences in whitespace around the ``::`` separators. + [variant.variants.mkl] + blas_lapack.library = ["mkl"] -Variant marker expressions MUST be evaluated from the variant metadata -stored in the wheel being installed, not from the current output of the -provider plugins. For a non-variant wheel, the three set-valued markers -are empty and ``variant_label`` is an empty string. + [variant.variants.netlib] + blas_lapack.library = ["netlib"] +This will cause the build backend to query +``blas-lapack-provider-plugin`` for all valid features and their values. +The obtained list will be embedded as ``static-properties`` in the built +wheel, so the installer does not have to query the plugin anymore. -Security implications -===================== -Variant resolution may require executing code before a wheel is -selected. Package index metadata can identify Python packages that -provide plugins for querying system capabilities, and an installer may -need to install and run those plugins while resolving dependencies. This -introduces two additional supply-chain attack vectors: - -1. A provider plugin, or one of its dependencies, could publish a - malicious release. - -2. Introducing a malicious variant provider plugin in an existing - package metadata. - -Executing third-party code during installation is not a new risk: build -backends and build dependencies are already executed when installing -from source distributions. Provider plugins nevertheless extend that -risk to wheel-only workflows, which may otherwise assume that dependency -resolution and wheel installation do not execute code from additional -packages. - -Trust in provider plugins is handled separately from variant metadata. -As described in the Providers section, installers MUST NOT install or -execute an untrusted provider package without explicit user consent. -Installers MAY establish trust by using vetted allowlists, vendoring -specific versions, reimplementing providers, or shipping commonly used -providers directly. The specification also permits static provider -configuration, which avoids executing a plugin altogether. - -Making common providers available through trusted mechanisms allows most -variant resolution to work without additional prompts, while uncommon -providers remain subject to explicit opt-in. Keeping such prompts rare -also reduces the risk of users granting blanket approval out of consent -fatigue. - -How to teach this -================= - -Python package users +Package ABI matching -------------------- -The primary source of information for Python package users should be -installer documentation, supplemented by helpful informational messages -from command-line interface, and tutorials. Users without special needs -should not require any special variant awareness. Advanced users would -specifically need documentation on (provided the installer in question -implements these features): - -- enabling untrusted provider plugins and the security implications of - that - -- controlling provider usage, in particular enabling optional providers, - disabling undesirable plugins or disabling variant usage in general - -- explicitly selecting variants, as well as controlling variant - selection process - -- configuring variant selection for remote deployment targets, for - example using a static file generated on the target - -The installer documentation may also be supplemented by documentation -specific to Python projects, in particular their installation -instructions. - -For the transition period, during which some package managers do and -some do not support variant wheels, users need to be aware that certain -features may only be available with certain tools. - +Yet another use case for variant wheels is providing multiple variants +of a package built against different dependency versions, in order to +resolve binary compatibility issues. -Python package maintainers --------------------------- - -The primary source of information for maintainers of Python packages -should be build backend documentation, supplemented by tutorials. The -documentation needs to indicate: +For example, vLLM needs to be installed with the same PyTorch version +that it was built against. While this may not be a major issue for +isolated setups, a more complex environment may end up depending on +multiple packages requiring PyTorch, each of them requiring a specific +PyTorch version. This may require navigating through a complex maze of +interdependencies to find package versions that can all be installed +simultaneously. -- how to declare variant support in ``pyproject.toml`` +The design introduces a special ``abi_dependency`` provider that +provides variants per dependency version. For example, vLLM could +publish the following variants: + +- ``vllm-0.27.1-...-torch213.whl`` for PyTorch 2.13.x +- ``vllm-0.27.1-...-torch212.whl`` for PyTorch 2.12.x +- ``vllm-0.27.1-...-torch211.whl`` for PyTorch 2.11.x + +The installer would then default to installing the ``torch213`` variant, +with options to use ``torch212`` or ``torch211`` if necessary to satisfy +other dependencies, rather than being forced to install an older vLLM +version. + +``abi_dependency`` is meant to be the only piece of metadata introduced +by the specification that affects dependency resolution rather than only +wheel selection within a version. + + +Key points +---------- + +The key points in the design we arrived at are: + +1. Package compatibility characteristics are expressed as variant + properties and embedded inside the wheel file, rather than in the + filename. This means that any number of characteristics can be + expressed without increasing the filename length. +2. Variant properties are namespaced and governed by independent + providers. New compatibility axes can be created and the existing + providers can be updated as necessary by the interested parties + without the necessity of going through a PEP process. +3. Providers are ultimately selected by the packages needing them, and + so variant-enabled packages have the final say over which variant + wheels are available and how they are selected. +4. The design provides both for providers that need to determine system + compatibility at runtime, and providers that embed all the necessary + information statically in the wheel itself. It also permits defining + special cases, such as the ``abi_dependency`` provider, that solve + specific problems without adding significant complexity to the + specification. +5. The reference method of implementing providers is through installable + Python packages, which provides the flexibility needed for package + maintainers to extend variant wheel support as necessary, as well as + to facilitate convenient testing. However, we do realize that we + cannot allow arbitrary code execution at install time, so these + plugins are opt-in. +6. At the same time, we recognize the need for good user experience + and the risk of security fatigue from an opt-in design. For this + reason, we propose that commonly used providers are vendored, + reimplemented or otherwise vetted as opt-in in installers, bridging + the gap between security and usability. + + +Security Implications +===================== -- how to use variant environment markers to specify dependencies +The full security considerations will be provided in the individual +`Standards Track PEPs for wheel variants`_. -- how to build variant wheels +The most important concern is that wheel variants introduce a plugin +system for querying the platform capabilities. Tools may install these +packages and execute the code within them during dependency resolution +or wheel processing, risking Remote Code Execution vulnerabilities. In +some cases the affected tools are executed with elevated privileges +(such as when installing packages for multi-user systems). -- how to publish them and generate the ``*-variants.json`` file on local - indexes +To prevent this, the specification will make plugin packages opt-in. +However, to improve user experience and avoid the risk of security +fatigue causing users to blanket enable all plugins, tool maintainers +will be allowed to vendor, reimplement or otherwise trust specific +plugins. A governance model to maintain a repository of trustworthy +plugins will be proposed as well. -The maintainers will also need to peruse provider plugin documentation. -They should also be aware which provider plugins are considered trusted -by commonly used installers, and know the implications of using -untrusted plugins. These materials may also be supplemented by generic -documents explaining publishing variant wheels, along with specific -example use cases. -For the transition period, package maintainers need to be aware that -they should still publish non-variant wheels for backwards -compatibility. +Backwards Compatibility +======================= +Full backwards compatibility considerations are provided in :pep:`825`. +The key point is that variant wheels add an additional variant label +component to the wheel filename. Tools commonly used to install wheels +at the time of writing reject (ignore) wheels containing that component, +making it possible to publish variant wheels on an index alongside +non-variant wheels without risk of them being installed accidentally. -Backwards compatibility -======================= -Existing installers MUST NOT accidentally install variant wheels, as -they require additional logic to determine whether a wheel is compatible -with the user's system. This is achieved by `extending wheel filename -<#extended-wheel-filename>`__ through adding a ``-{variant label}`` -component to the end of the filename, effectively causing variant wheels -to be rejected by common installer implementations. For backwards -compatibility, a non-variant wheel can be published in addition to the -variant wheels. It will be the only wheel supported by incompatible -installers, and the least preferred wheel for variant-compatible -installers. - -Aside from this explicit incompatibility, the specification makes -minimal and non-intrusive changes to the binary package format. The -variant metadata is placed in a separate file in the ``.dist-info`` -directory, which should be preserved by tools that are not concerned -with variants, limiting the necessary changes to updating the filename -validation algorithm (if there is one). - -If the new `variant environment markers`_ are used in wheel -dependencies, these wheels will be incompatible with existing tools. -This is a general problem with the design of environment markers, and -not specific to wheel variants. It is possible to work around this -problem by partially evaluating environment markers at build time, and -removing the markers or dependencies specific to variant wheels from the -non-variant wheel. - -`Build backends`_ produce non-variant wheels to preserve backwards -compatibility with existing frontends. Variant wheels can only be output -on explicit user request. - -By using a separate ``*-variants.json`` `file for shared metadata -<#name-version-variants-json-the-index-level-variant-metadata-file>`__, -it is -possible to use variant wheels on an index that does not specifically -support variant metadata. However, the index MUST permit distributing -wheels that use the extended filename syntax and the JSON file. - - -Reference implementation +Reference Implementation ======================== The `variantlib `__ project -contains a reference implementation of all the protocols and algorithms -introduced in this PEP, as well as a command-line tool to convert -wheels, generate the ``*-variants.json`` index and query plugins. +contains a reference implementation of the current state of wheel +variants specification, as well as a command-line tool to convert +wheels, generate the ``*-variants.json`` file and query plugins. A client for installing variant wheels is implemented in a `uv branch `__. @@ -1577,74 +1396,6 @@ modified versions of some Python packages demonstrating variant wheel uses. -Rejected ideas -============== - -An approach without provider plugins ------------------------------------- - -The support for additional variant properties could technically be -implemented without introducing provider plugins, but rather defining -the available properties and their discovery methods as part of the -specification, much like how wheel tags are implemented currently. -However, the existing wheel tag logic already imposes a significant -complexity on packaging tools that need to maintain the logic for -generating supported tags, partially amortized by the data provided by -the Python interpreter itself. - -Every new axis would be imposing even more effort on package manager -maintainers, who would have to maintain an algorithm to determine the -property compatibility. This algorithm could become quite complex, -possibly needing to account for different platforms, hardware versions -and requiring more frequent updates than the one for platform tags. This -would also significantly increase the barrier towards adding new axes -and therefore the risk of lack of feature parity between different -installers, as every new axis will be imposing additional maintenance -cost. - -For comparison, the plugin design essentially democratizes the variant -properties. Provider plugins can be maintained independently by people -having the necessary knowledge and hardware. They can be updated as -frequently as necessary, independently of package managers. The decision -to use a particular provider falls entirely on the maintainer of package -needing it, though they need to take into consideration that using -plugins that are not vetted by the common installers will inconvenience -their users. - - -Resolving variants to separate packages ---------------------------------------- - -An alternative proposal was to publish the variants of the package as -separate projects on the index, along with the main package serving as a -"resolver" directing to other variants via its metadata. For example, a -``torch`` package could indicate the conditions for using ``torch-cpu``, -``torch-cu129``, etc. subpackages. - -Such an approach could possibly feature better backwards compatibility -with existing tools. The changes would be limited to installers, and -even with pre-variant installers the users could explicitly request -installing a specific variant. However, it poses problems at multiple -levels. - -The necessity of creating a new project for every variant will lead to -the proliferation of old projects, such as ``torch-cu123``. While the -use of resolver package will ensure that only the modern variants are -used, users manually installing packages and cross-package dependencies -may accidentally be pinning to old variant projects, or even fall victim -to name squatting. For comparison, the variant wheel proposal scopes -variants to each project version, and ensures that only the project -maintainers can upload them. - -Furthermore, it requires significant changes to the dependency resolver -and package metadata formats. In particular, the dependency resolver -would need to query all "resolver" packages before performing -resolution. It is unclear how to account for such variants while -performing universal resolution. The one-to-one mapping between -dependencies and installed packages would be lost, as a ``torch`` -dependency could effectively be satisfied by ``torch-cu129``. - - References ========== @@ -1675,12 +1426,12 @@ Paul Ganssle, Philip Hyunsu Cho, Robert Maynard, Vyas Ramasubramani, and Zanie Blue. -Change history +Change History ============== - 14-Aug-2026 - - Change to informational PEP + - Change to informational PEP - 18-Mar-2026 diff --git a/peps/pep-0817/conceptual_diagram_installers.png b/peps/pep-0817/conceptual_diagram_installers.png index b6b364eb5f96fde4203a3736504603eaf7495a35..357cb9e9f2fe883c605a83856ebc634631c2a401 100644 GIT binary patch literal 233872 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

7({_QL% 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 literal 254901 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�pqVvU~!2#PTdX@2PNRn)qjfl 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