Prefer higher Python lower-bounds when forking#10007
Merged
charliermarsh merged 1 commit intomainfrom Dec 18, 2024
Merged
Conversation
charliermarsh
commented
Dec 18, 2024
| virtualenv==20.28.0 ; python_full_version >= '3.8' | ||
| # via nox | ||
| zipp==3.15.0 ; python_full_version < '3.8' | ||
| # via importlib-metadata |
Member
Author
There was a problem hiding this comment.
Lots of splits, but this is correct... A lot of packages dropped support for Python 3.7, but the user still wants to resolve for it.
204a7c7 to
3b7c94e
Compare
3b7c94e to
6a58dae
Compare
BurntSushi
approved these changes
Dec 18, 2024
Member
BurntSushi
left a comment
There was a problem hiding this comment.
Do the changes to the transformers resolution look right to you? I notice there are new dependencies being added.
Also, does this result in invalidating existing lock files if the order of the resolution markers would change? I imagine it would right?
Member
Author
|
Yeah, they're right to me. Users can still opt-out. I don't believe existing lockfiles will be invalidated, since we don't look at the resolved markers when validating. |
tmeijn
pushed a commit
to tmeijn/dotfiles
that referenced
this pull request
Dec 20, 2024
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.5.8` -> `0.5.11` | 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.11`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0511) [Compare Source](astral-sh/uv@0.5.10...0.5.11) ##### Enhancements - Normalize `platform_system` to `sys_platform` ([#​9949](astral-sh/uv#9949)) - Improve retry mechanisms on Windows for `copy_atomic` and `write_atomic` ([#​10026](astral-sh/uv#10026)) - Add nuance to prefetch logging ([#​9984](astral-sh/uv#9984)) - Update to [`python-build-standalone 20241219`](https://github.com/astral-sh/python-build-standalone/releases/tag/20241219) ##### Preview features - Build backend: Preserve executable bits for scripts in distributions ([#​10027](astral-sh/uv#10027)) - Build backend: Handle case where `metadata_directory` already contains `dist-info` directory ([#​10005](astral-sh/uv#10005)) ##### Performance - Batch resolver pre-fetches per fork ([#​10029](astral-sh/uv#10029)) ##### Bug fixes - Allow `--script` to be provided with `uv run -` ([#​10035](astral-sh/uv#10035)) - Allow `uv run` arguments when reading from `stdin` ([#​10034](astral-sh/uv#10034)) - Prefer higher Python lower-bounds when forking ([#​10007](astral-sh/uv#10007)) - Remove references to deprecated `first-match` ([#​10036](astral-sh/uv#10036)) ##### Documentation - Add `uv python install --preview` to the documentation ([#​10010](astral-sh/uv#10010)) - Fix `uv python install --default` note about multiple requests ([#​10011](astral-sh/uv#10011)) - Fix typo in Caching docs ([#​10032](astral-sh/uv#10032)) - Remove remaining references to deprecated `first-match` ([#​10038](astral-sh/uv#10038)) - Supplement missing separators for `UV_INSTALL_DIR` directions on Windows ([#​9507](astral-sh/uv#9507)) ### [`v0.5.10`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0510) [Compare Source](astral-sh/uv@0.5.9...0.5.10) ##### Enhancements - Improve backtracking behavior when packages conflict repeatedly ([#​9843](astral-sh/uv#9843)) - Patch Python `sysconfig` values such as `AR` at `ar` install time ([#​9905](astral-sh/uv#9905)) - Patch Python `sysconfig` values such as `clang` to `cc` at install time ([#​9916](astral-sh/uv#9916)) - Skip `--native-tls` in `pip compile` header ([#​9913](astral-sh/uv#9913)) - Add resolver error hint for no-binary and no-build failures ([#​9948](astral-sh/uv#9948)) - Improve build error messages ([#​9660](astral-sh/uv#9660)) - Reduce redundant Python version incompatibilities in resolver error message ([#​9957](astral-sh/uv#9957)) - Reduce redundant enumeration of all package versions in some resolver errors ([#​9885](astral-sh/uv#9885)) - Improve display of ranges when pre-releases are not allowed ([#​9944](astral-sh/uv#9944)) - Improve error messages for `uv remove` ([#​9959](astral-sh/uv#9959)) - Improve phrasing for single term incompatibilities ([#​9953](astral-sh/uv#9953)) - Improve styling of `uv remove` dependency hints ([#​9960](astral-sh/uv#9960)) - Omit trailing zeros on Python requirements inferred from versions ([#​9952](astral-sh/uv#9952)) - Show a concise error message for missing `version` field ([#​9912](astral-sh/uv#9912)) - Use the build options value to improve hints for no wheel / source distribution errors ([#​9950](astral-sh/uv#9950)) ##### Bug fixes - Allow multiple disjoint URLs in overrides ([#​9893](astral-sh/uv#9893)) - Include explicit indexes in publish index choice ([#​9932](astral-sh/uv#9932)) - Fix Python interpreter detection for 32-bit operating systems on 64-bit hosts ([#​9970](astral-sh/uv#9970)) ##### Documentation - Fix typo "operation system" ([#​9971](astral-sh/uv#9971)) - Clarify uninstallation docs ([#​9938](astral-sh/uv#9938)) - Add a note to say that dependencies between workspace members are editable ([#​9363](astral-sh/uv#9363)) - Correctly document default value of `fork-strategy` setting ([#​9931](astral-sh/uv#9931)) - Use double quotes for Windows support in examples ([#​9946](astral-sh/uv#9946)) - Remove `pypy` from top-level pin example ([#​9896](astral-sh/uv#9896)) - Update references to `python-build-standalone` to reflect the transferred project ([#​9977](astral-sh/uv#9977)) - Use a different Ruff version in documentation ([#​9943](astral-sh/uv#9943)) - Change example so it works as-is on `powershell` and `cmd.exe` ([#​9903](astral-sh/uv#9903)) - Clarify best practice for Python matrix strategy in GitHub Actions ([#​9454](astral-sh/uv#9454)) - Add documentation for `uv-lock` and `uv-export` pre-commit hooks ([#​9872](astral-sh/uv#9872)) ##### Preview features - Build backend: Fix pre-PEP 639 license files ([#​9965](astral-sh/uv#9965)) ### [`v0.5.9`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#059) [Compare Source](astral-sh/uv@0.5.8...0.5.9) ##### Enhancements - Fork version selection based on `requires-python` requirements ([#​9827](astral-sh/uv#9827)) - Patch `sysconfig` data at install time ([#​9857](astral-sh/uv#9857)) - Remove `-isysroot` when patching sysconfig ([#​9860](astral-sh/uv#9860)) ##### Configuration - Introduce a `--fork-strategy` preference mode ([#​9868](astral-sh/uv#9868)) - Add support for `UV_OFFLINE` ([#​9795](astral-sh/uv#9795)) ##### Bug fixes - Avoid `panic!()` when current directory does not exist ([#​9876](astral-sh/uv#9876)) - Avoid reusing interpreter metadata when running under Rosetta ([#​9846](astral-sh/uv#9846)) - Avoid trailing slash when deserializing from lockfile ([#​9848](astral-sh/uv#9848)) - Fix bug in terms when collapsing unavailable versions in resolver errors ([#​9877](astral-sh/uv#9877)) - Fix suggestion to use `uv help python` on invalid install requests ([#​9820](astral-sh/uv#9820)) - Skip root when assessing prefix viability ([#​9823](astral-sh/uv#9823)) - Avoid spurious 'Upgraded tool environment' in `uv tool upgrade` ([#​9870](astral-sh/uv#9870)) ##### Rust API - Upgrade minimum Rust version to 1.83 ([#​9815](astral-sh/uv#9815)) ##### Documentation - Document the `--fork-strategy` setting ([#​9887](astral-sh/uv#9887)) ##### Preview features - Build backend: Allow underscores in entrypoints ([#​9825](astral-sh/uv#9825)) </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:eyJjcmVhdGVkSW5WZXIiOiIzOS42NC4wIiwidXBkYXRlZEluVmVyIjoiMzkuNzUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
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
With the advent of
--fork-strategy requires-python(the default), we actually want to solve higher lower-bound forks before lower lower-bound forks. The former ensures we get the most compatible versions, while the latter ensures we get fewer overall versions. These two strategies match up with--fork-strategy, but need to be respected as such.Closes #9998.