-
Notifications
You must be signed in to change notification settings - Fork 732
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow py3x-none
tags in newer than Python 3.x
#7867
Conversation
Unlike `cp36-...`, which requires exactly CPython 3.6, `py36-none` is compatible with all versions starting at Python 3.6. Fixes #7800
@@ -362,8 +362,9 @@ impl RequiresPython { | |||
let Some(minor) = python_tag |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this entire part make sense? In the example above, I thought cp36 was a lower-bound, so it would match==3.10.*
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cpxx-<...>-<...>
as a python tag only really makes sense in combination with a matching ABI tag, cp311-none
doesn't really make sense: why are you requiring CPython if you're not requiring its ABI? For pragmatic reasons, we're following pip (on python 3.12), cp
is an exact python tag unless we use abi3
, then it's a minimum version, while py
is a lower bound:
$ pip debug --verbose | grep manylinux_2_39_x86_64
WARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.
cp312-cp312-manylinux_2_39_x86_64
cp312-abi3-manylinux_2_39_x86_64
cp312-none-manylinux_2_39_x86_64
cp311-abi3-manylinux_2_39_x86_64
cp310-abi3-manylinux_2_39_x86_64
cp39-abi3-manylinux_2_39_x86_64
cp38-abi3-manylinux_2_39_x86_64
cp37-abi3-manylinux_2_39_x86_64
cp36-abi3-manylinux_2_39_x86_64
cp35-abi3-manylinux_2_39_x86_64
cp34-abi3-manylinux_2_39_x86_64
cp33-abi3-manylinux_2_39_x86_64
cp32-abi3-manylinux_2_39_x86_64
py312-none-manylinux_2_39_x86_64
py3-none-manylinux_2_39_x86_64
py311-none-manylinux_2_39_x86_64
py310-none-manylinux_2_39_x86_64
py39-none-manylinux_2_39_x86_64
py38-none-manylinux_2_39_x86_64
py37-none-manylinux_2_39_x86_64
py36-none-manylinux_2_39_x86_64
py35-none-manylinux_2_39_x86_64
py34-none-manylinux_2_39_x86_64
py33-none-manylinux_2_39_x86_64
py32-none-manylinux_2_39_x86_64
py31-none-manylinux_2_39_x86_64
py30-none-manylinux_2_39_x86_64
else { | ||
// We also return true for bounds such as `py36`, where the Python version | ||
// is a lower bound (redundant with `requires-python`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if the version is greater than our own upper-bound on Python? E.g., py310
but the user has == 3.8.*
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess we don't handle this at all here yet (upper bounds).
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.4.18` -> `0.4.20` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>astral-sh/uv (astral-sh/uv)</summary> ### [`v0.4.20`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0420) [Compare Source](astral-sh/uv@0.4.19...0.4.20) ##### Enhancements - Add managed downloads for CPython 3.13.0 (final) ([#​8010](astral-sh/uv#8010)) - Python 3.13 is the default version for `uv python install` ([#​8010](astral-sh/uv#8010)) - Hint at wrong endpoint in `uv publish` failures ([#​7872](astral-sh/uv#7872)) - List available scripts when a command is not specified for `uv run` ([#​7687](astral-sh/uv#7687)) - Fill in `authors` field during `uv init` ([#​7756](astral-sh/uv#7756)) ##### Documentation - Add snapshot testing to contribution guide ([#​7882](astral-sh/uv#7882)) - Fix and improve GitLab integration docs ([#​8000](astral-sh/uv#8000)) ### [`v0.4.19`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0419) [Compare Source](astral-sh/uv@0.4.18...0.4.19) ##### Enhancements - Add managed downloads for CPython 3.13.0rc3 and 3.12.7 ([#​7880](astral-sh/uv#7880)) - Display the target virtual environment path if non-default ([#​7850](astral-sh/uv#7850)) - Preserve case-insensitive sorts in `uv add` ([#​7864](astral-sh/uv#7864)) - Respect project upper bounds when filtering wheels on `requires-python` ([#​7904](astral-sh/uv#7904)) - Add `--script` to `uv run` to treat an input as PEP 723 regardless of extension ([#​7739](astral-sh/uv#7739)) - Improve legibility of build failure errors ([#​7854](astral-sh/uv#7854)) - Show interpreter source during Python discovery query errors ([#​7928](astral-sh/uv#7928)) ##### Configuration - Add `UV_FIND_LINKS` environment variable for `--find-links` ([#​7912](astral-sh/uv#7912)) - Ignore empty string values for `UV_PYTHON` environment variable ([#​7878](astral-sh/uv#7878)) ##### Bug fixes - Allow `py3x-none` tags in newer than Python 3.x ([#​7867](astral-sh/uv#7867)) - Allow self-dependencies in the `dev` section ([#​7943](astral-sh/uv#7943)) - Always ignore `cp2` wheels in resolution ([#​7902](astral-sh/uv#7902)) - Clear the publish progress bar on retry ([#​7921](astral-sh/uv#7921)) - Fix parsing of `gnueabi` libc variants in Python version requests ([#​7975](astral-sh/uv#7975)) - Simplify supported environments when comparing to lockfile ([#​7894](astral-sh/uv#7894)) - Trim commits when reading from Git refs ([#​7922](astral-sh/uv#7922)) - Use a higher HTTP read timeout when publishing packages ([#​7923](astral-sh/uv#7923)) - Remove the first empty line for `uv tree --package foo` ([#​7885](astral-sh/uv#7885)) ##### Documentation - Add 3.13 support to the platform reference ([#​7971](astral-sh/uv#7971)) - Clarify project environment creation ([#​7941](astral-sh/uv#7941)) - Fix code block title in Gitlab integration docs ([#​7861](astral-sh/uv#7861)) - Fix project guide section on adding a Git dependency ([#​7916](astral-sh/uv#7916)) - Fix uninstallation command for Windows ([#​7944](astral-sh/uv#7944)) - Clearly specify the minimum supported Windows Server version ([#​7946](astral-sh/uv#7946)) ##### Rust API - Remove unused `Sha256Reader` ([#​7929](astral-sh/uv#7929)) - Remove unnecessary `Deserialize` derives on settings ([#​7856](astral-sh/uv#7856)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Unlike
cp36-...
, which requires exactly CPython 3.6,py36-none
is compatible with all versions starting at Python 3.6.Note that
py3x-none
should not be used. Instead, usepy3-none
withrequires-python
.Fixes #7800