Enable first-class dependency exclusions#16528
Merged
charliermarsh merged 4 commits intomainfrom Oct 31, 2025
Merged
Conversation
3937e38 to
158a500
Compare
158a500 to
ab7aa63
Compare
zanieb
reviewed
Oct 31, 2025
| ); | ||
|
|
||
| requirements | ||
| .filter(|requirement| !self.excludes.contains(&requirement.name)) |
zanieb
approved these changes
Oct 31, 2025
ab7aa63 to
d0671d6
Compare
This was referenced Oct 31, 2025
tmeijn
pushed a commit
to tmeijn/dotfiles
that referenced
this pull request
Nov 10, 2025
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.9.7` -> `0.9.8` | 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.9.8`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#098) [Compare Source](astral-sh/uv@0.9.7...0.9.8) Released on 2025-11-07. ##### Enhancements - Accept multiple packages in `uv export` ([#​16603](astral-sh/uv#16603)) - Accept multiple packages in `uv sync` ([#​16543](astral-sh/uv#16543)) - Add a `uv cache size` command ([#​16032](astral-sh/uv#16032)) - Add prerelease guidance for build-system resolution failures ([#​16550](astral-sh/uv#16550)) - Allow Python requests to include `+gil` to require a GIL-enabled interpreter ([#​16537](astral-sh/uv#16537)) - Avoid pluralizing 'retry' for single value ([#​16535](astral-sh/uv#16535)) - Enable first-class dependency exclusions ([#​16528](astral-sh/uv#16528)) - Fix inclusive constraints on available package versions in resolver errors ([#​16629](astral-sh/uv#16629)) - Improve `uv init` error for invalid directory names ([#​16554](astral-sh/uv#16554)) - Show help on `uv build -h` ([#​16632](astral-sh/uv#16632)) - Include the Python variant suffix in "Using Python ..." messages ([#​16536](astral-sh/uv#16536)) - Log most recently modified file for cache-keys ([#​16338](astral-sh/uv#16338)) - Update Docker builds to use nightly Rust toolchain with musl v1.2.5 ([#​16584](astral-sh/uv#16584)) - Add GitHub attestations for uv release artifacts ([#​11357](astral-sh/uv#11357)) ##### Configuration - Expose `UV_NO_GROUP` as an environment variable ([#​16529](astral-sh/uv#16529)) - Add `UV_NO_SOURCES` as an environment variable ([#​15883](astral-sh/uv#15883)) ##### Bug fixes - Allow `--check` and `--locked` to be used together in `uv lock` ([#​16538](astral-sh/uv#16538)) - Allow for unnormalized names in the METADATA file ([#​16547](astral-sh/uv#16547)) ([#​16548](astral-sh/uv#16548)) - Fix missing value\_type for `default-groups` in schema ([#​16575](astral-sh/uv#16575)) - Respect multi-GPU outputs in `nvidia-smi` ([#​15460](astral-sh/uv#15460)) - Fix DNS lookup errors in Docker containers ([#​8450](astral-sh/uv#8450)) ##### Documentation - Fix typo in uv tool list doc ([#​16625](astral-sh/uv#16625)) - Note `uv pip list` name normalization in docs ([#​13210](astral-sh/uv#13210)) ##### Other changes - Update Rust toolchain to 1.91 and MSRV to 1.89 ([#​16531](astral-sh/uv#16531)) </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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
ranma42
reviewed
Dec 11, 2025
| #[serde(flatten)] | ||
| pub top_level: ResolverInstallerSchema, | ||
| pub override_dependencies: Option<Vec<uv_pep508::Requirement<VerbatimParsedUrl>>>, | ||
| pub exclude_dependencies: Option<Vec<uv_normalize::PackageName>>, |
There was a problem hiding this comment.
it looks like this is not handled in RequirementsSpecification.from_pep723_metadata 🤔
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
This PR adds an
exclude-dependenciessetting that allows users to omit a dependency during resolution. It's effectively a formalized version of theflask ; python_version < '0'hack that we've suggested to users in various issues.Closes #12616.