You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: python/private/pypi/extension.bzl
+15-19Lines changed: 15 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -492,40 +492,36 @@ preference.
492
492
Will always include `"any"` even if it is not specified.
493
493
494
494
The items in this list can contain a single `*` character that is equivalent to matching the
495
-
lowest available version component in the platform_tag. Note, if the wheel platform tag does not
495
+
lowest available version component in the platform_tag. If the wheel platform tag does not
496
496
have a version component, e.g. `linux_x86_64` or `win_amd64`, then `*` will act as a regular character.
497
497
498
498
:::{note}
499
-
We select a single wheel and the last match will take precedence, if the platform_tag that we
500
-
match has a version component (e.g. `android_x_arch`, then the version `x` will be used in the
501
-
matching algorithm).
502
-
503
499
Normally, the `*` in the matcher means that we will target the lowest platform version that we can
504
500
and will give preference to whls built targeting the older versions of the platform. If you
505
501
specify the version, then we will use the MVS (Minimal Version Selection) algorithm to select the
506
502
compatible wheel. As such, you need to keep in mind how to configure the target platforms to
507
-
select a particular wheel of your preference. To sum up:
508
-
* To select any wheel, use `*`.
509
-
* To exclude versions up to `X.Y` - submit a PR supporting this feature.
510
-
* To exclude versions above `X.Y`, provide the full platform tag specifier, e.g. `musllinux_1_2_x86_64`, which will ensure that no wheels with `musllinux_1_3_x86_64` or higher are selected.
511
-
:::
503
+
select a particular wheel of your preference.
512
504
513
-
:::{note}
514
-
The following tag prefixes should be used instead of the legacy equivalents:
515
-
* `manylinux_2_5` instead of `manylinux1`
516
-
* `manylinux_2_12` instead of `manylinux2010`
517
-
* `manylinux_2_17` instead of `manylinux2014`
518
-
519
-
When parsing the whl filenames `rules_python` will automatically transform wheel filenames to the
520
-
latest format.
505
+
We select a single wheel and the last match will take precedence, if the platform_tag that we
506
+
match has a version component (e.g. `android_x_arch`, then the version `x` will be used in the
507
+
MVS matching algorithm).
508
+
509
+
Common patterns:
510
+
* To select any versioned wheel for an `<os>`, `<arch>`, use `<os>_*_<arch>`, e.g.
511
+
`manylinux_2_17_x86_64`.
512
+
* To exclude versions up to `X.Y` - **submit a PR supporting this feature**.
513
+
* To exclude versions above `X.Y`, provide the full platform tag specifier, e.g.
514
+
`musllinux_1_2_x86_64`, which will ensure that no wheels with `musllinux_1_3_x86_64` or higher
515
+
are selected.
521
516
:::
522
517
523
518
:::{seealso}
524
519
See official [docs](https://packaging.python.org/en/latest/specifications/platform-compatibility-tags/#platform-tag) for more information.
525
520
:::
526
521
:::{versionchanged} VERSION_NEXT_FEATURE
527
522
The matching of versioned platforms have been switched to MVS (Minimal Version Selection)
528
-
algorithm for easier evaluation logic and fewer surprises.
523
+
algorithm for easier evaluation logic and fewer surprises. The legacy platform tags are
524
+
supported from this version without extra handling from the user.
0 commit comments