Allow source distributions to produce wheels with +local suffixes#11429
Merged
charliermarsh merged 1 commit intomainfrom Feb 11, 2025
Merged
Allow source distributions to produce wheels with +local suffixes#11429charliermarsh merged 1 commit intomainfrom
charliermarsh merged 1 commit intomainfrom
Conversation
tmeijn
pushed a commit
to tmeijn/dotfiles
that referenced
this pull request
Feb 13, 2025
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.5.30` -> `0.5.31` | 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.5.31`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0531) [Compare Source](astral-sh/uv@0.5.30...0.5.31) ##### Enhancements - Add `uv sync --script` ([#​11361](astral-sh/uv#11361)) - Allow PEP 508 requirements in tool requests ([#​11337](astral-sh/uv#11337)) - Allow source distributions to produce wheels with `+local` suffixes ([#​11429](astral-sh/uv#11429)) - Bring parity to `uvx` and `uv tool install` requests ([#​11345](astral-sh/uv#11345)) - Use a stable directory for local, remote, and stdin script virtual environments ([#​11347](astral-sh/uv#11347), [#​11364](astral-sh/uv#11364)) - Detect infinite recursion in `uv run` ([#​11386](astral-sh/uv#11386)) ##### Python The managed Python distributions have been updated, including: - CPython 3.14.0a5, which includes a new [tail calling interpreter](https://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-tail-call) for a significant performance improvement - The bundled OpenSSL version was updated from 3.0.15 to 3.0.16 which fixes a [security advisory](https://openssl-library.org/news/secadv/20241016.txt) See the [`python-build-standalone` release notes](https://github.com/astral-sh/python-build-standalone/releases/tag/20250212) for more details. ##### Bug fixes - Fix cross-drive script installation ([#​11167](astral-sh/uv#11167)) - Add indexes in priority order ([#​11451](astral-sh/uv#11451)) - Allow `--python <dir>` requests to match existing environments if `sys.executable` is the same file ([#​11290](astral-sh/uv#11290)) - Avoid comparing to system site packages in `--dry-run` mode ([#​11427](astral-sh/uv#11427)) - Prefer running executables in the environment with `<name>` over `<name>/__main__.py` ([#​11431](astral-sh/uv#11431)) - Retry local clones without hardlinks if they fail ([#​11421](astral-sh/uv#11421)) ##### Documentation - Update alternative-indexes.md to use `UV_INDEX` instead of `UV_EXTRA_INDEX_URL` ([#​11381](astral-sh/uv#11381)) - Update scripts guide to include using package indexes ([#​11443](astral-sh/uv#11443)) </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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjYuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
loic-lescoat
pushed a commit
to loic-lescoat/uv
that referenced
this pull request
Mar 2, 2025
…tral-sh#11429) ## Summary We currently enforce that if you do `uv pip install ./dist/iniconfig-1.0.0.tar.gz`, the build _must_ produce a wheel like `iniconfig-1.0.0-py3-none-any.whl` (i.e., the name and version must match). It turns out some packages produce a wheel that has a local suffix on it, like `vllm`. This PR makes the check a little more permissive in that we now accept `1.0.0` or that version with a local suffix (e.g., `1.0.0+cpu`). I don't love this practice, but we already relaxed this check when _installing_ a wheel, so this seems reasonable: https://github.com/astral-sh/uv/blob/5e15881dccc9201c10696cfcaf3a3e1ad8081f31/crates/uv-install-wheel/src/install.rs#L50-L52 Note that this is _still_ stricter than pip. pip seems to only require that the package name is the same (i.e., `iniconfig` matches `iniconfig`; but they'll happily install a wheel like `iniconfig-2.0.0-py3-none-any.whl` given `./dist/iniconfig-1.0.0.tar.gz`). Closes astral-sh#11038.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
We currently enforce that if you do
uv pip install ./dist/iniconfig-1.0.0.tar.gz, the build must produce a wheel likeiniconfig-1.0.0-py3-none-any.whl(i.e., the name and version must match). It turns out some packages produce a wheel that has a local suffix on it, likevllm. This PR makes the check a little more permissive in that we now accept1.0.0or that version with a local suffix (e.g.,1.0.0+cpu). I don't love this practice, but we already relaxed this check when installing a wheel, so this seems reasonable:uv/crates/uv-install-wheel/src/install.rs
Lines 50 to 52 in 5e15881
Note that this is still stricter than pip. pip seems to only require that the package name is the same (i.e.,
iniconfigmatchesiniconfig; but they'll happily install a wheel likeiniconfig-2.0.0-py3-none-any.whlgiven./dist/iniconfig-1.0.0.tar.gz).Closes #11038.