Reinstall local packages in uv add#13462
Conversation
uv adduv add
| "Marking explicit source tree for reinstall: `{}`", | ||
| install_path.display() | ||
| ); | ||
| args.settings.reinstall = args |
There was a problem hiding this comment.
I think I'd prefer if we didn't make args mutable for this, does it seem reasonable to extract the reinstall option and just mutate / extend that?
There was a problem hiding this comment.
@konstin kindly pointed out to me this is an existing pattern (https://github.com/astral-sh/uv/blame/26e37f3a1ed2701c76a5e366639724779928b37c/crates/uv/src/lib.rs#L678-L695) — feel free to leave as-is.
crates/uv/src/lib.rs
Outdated
| ) | ||
| .collect::<Result<Vec<_>>>()?; | ||
|
|
||
| // Special-case: any source trees specified on the command-line are automatically |
There was a problem hiding this comment.
Should this happen for remote source trees too? Like a Git repository?
There was a problem hiding this comment.
We have the following line in https://docs.astral.sh/uv/concepts/cache/#dependency-caching
As a special case, uv will always rebuild and reinstall any local directory dependencies passed explicitly on the command-line (e.g., uv pip install .).
So I guess this shouldn't happen for remote source trees?
There was a problem hiding this comment.
That seems okay to me, at least as a starting point — let's say "local source trees" here then
There was a problem hiding this comment.
👍 Let's mirror what we do elsewhere for now.
|
Thank you! |
## 0.7.5 ### Bug fixes - Support case-sensitive module discovery in the build backend ([#13468](astral-sh/uv#13468)) - Bump Simple cache bucket to v16 ([#13498](astral-sh/uv#13498)) - Don't error when the script is too short for the buffer ([#13488](astral-sh/uv#13488)) - Add missing word in "script not supported" error ([#13483](astral-sh/uv#13483)) ## 0.7.4 ### Enhancements - Add more context to external errors ([#13351](astral-sh/uv#13351)) - Align indentation of long arguments ([#13394](astral-sh/uv#13394)) - Preserve order of dependencies which are sorted naively ([#13334](astral-sh/uv#13334)) - Align progress bars by largest name length ([#13266](astral-sh/uv#13266)) - Reinstall local packages in `uv add` ([#13462](astral-sh/uv#13462)) - Rename `--raw-sources` to `--raw` ([#13348](astral-sh/uv#13348)) - Show 'Downgraded' when `self update` is used to install an older version ([#13340](astral-sh/uv#13340)) - Suggest `uv self update` if required uv version is newer ([#13305](astral-sh/uv#13305)) - Add 3.14 beta images to uv Docker images ([#13390](astral-sh/uv#13390)) - Add comma after "i.e." in Conda environment error ([#13423](astral-sh/uv#13423)) - Be more precise in unpinned packages warning ([#13426](astral-sh/uv#13426)) - Fix detection of sorted dependencies when include-group is used ([#13354](astral-sh/uv#13354)) - Fix display of HTTP responses in trace logs for retry of errors ([#13339](astral-sh/uv#13339)) - Log skip reasons during Python installation key interpreter match checks ([#13472](astral-sh/uv#13472)) - Redact credentials when displaying URLs ([#13333](astral-sh/uv#13333)) ### Bug fixes - Avoid erroring on `pylock.toml` dependency entries ([#13384](astral-sh/uv#13384)) - Avoid panics for cannot-be-a-base URLs ([#13406](astral-sh/uv#13406)) - Ensure cached realm credentials are applied if no password is found for index URL ([#13463](astral-sh/uv#13463)) - Fix `.tgz` parsing to respect true extension ([#13382](astral-sh/uv#13382)) - Fix double self-dependency ([#13366](astral-sh/uv#13366)) - Reject `pylock.toml` in `uv add -r` ([#13421](astral-sh/uv#13421)) - Retain dot-separated wheel tags during cache prune ([#13379](astral-sh/uv#13379)) - Retain trailing comments after PEP 723 metadata block ([#13460](astral-sh/uv#13460)) ### Documentation - Use "export" instead of "install" in `uv export` arguments ([#13430](astral-sh/uv#13430)) - Remove extra newline ([#13461](astral-sh/uv#13461)) ### Preview features - Build backend: Normalize glob paths ([#13465](astral-sh/uv#13465))
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.7.3` -> `0.7.5` | 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.7.5`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#075) [Compare Source](astral-sh/uv@0.7.4...0.7.5) ##### Bug fixes - Support case-sensitive module discovery in the build backend ([#​13468](astral-sh/uv#13468)) - Bump Simple cache bucket to v16 ([#​13498](astral-sh/uv#13498)) - Don't error when the script is too short for the buffer ([#​13488](astral-sh/uv#13488)) - Add missing word in "script not supported" error ([#​13483](astral-sh/uv#13483)) ### [`v0.7.4`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#074) [Compare Source](astral-sh/uv@0.7.3...0.7.4) ##### Enhancements - Add more context to external errors ([#​13351](astral-sh/uv#13351)) - Align indentation of long arguments ([#​13394](astral-sh/uv#13394)) - Preserve order of dependencies which are sorted naively ([#​13334](astral-sh/uv#13334)) - Align progress bars by largest name length ([#​13266](astral-sh/uv#13266)) - Reinstall local packages in `uv add` ([#​13462](astral-sh/uv#13462)) - Rename `--raw-sources` to `--raw` ([#​13348](astral-sh/uv#13348)) - Show 'Downgraded' when `self update` is used to install an older version ([#​13340](astral-sh/uv#13340)) - Suggest `uv self update` if required uv version is newer ([#​13305](astral-sh/uv#13305)) - Add 3.14 beta images to uv Docker images ([#​13390](astral-sh/uv#13390)) - Add comma after "i.e." in Conda environment error ([#​13423](astral-sh/uv#13423)) - Be more precise in unpinned packages warning ([#​13426](astral-sh/uv#13426)) - Fix detection of sorted dependencies when include-group is used ([#​13354](astral-sh/uv#13354)) - Fix display of HTTP responses in trace logs for retry of errors ([#​13339](astral-sh/uv#13339)) - Log skip reasons during Python installation key interpreter match checks ([#​13472](astral-sh/uv#13472)) - Redact credentials when displaying URLs ([#​13333](astral-sh/uv#13333)) ##### Bug fixes - Avoid erroring on `pylock.toml` dependency entries ([#​13384](astral-sh/uv#13384)) - Avoid panics for cannot-be-a-base URLs ([#​13406](astral-sh/uv#13406)) - Ensure cached realm credentials are applied if no password is found for index URL ([#​13463](astral-sh/uv#13463)) - Fix `.tgz` parsing to respect true extension ([#​13382](astral-sh/uv#13382)) - Fix double self-dependency ([#​13366](astral-sh/uv#13366)) - Reject `pylock.toml` in `uv add -r` ([#​13421](astral-sh/uv#13421)) - Retain dot-separated wheel tags during cache prune ([#​13379](astral-sh/uv#13379)) - Retain trailing comments after PEP 723 metadata block ([#​13460](astral-sh/uv#13460)) ##### Documentation - Use "export" instead of "install" in `uv export` arguments ([#​13430](astral-sh/uv#13430)) - Remove extra newline ([#​13461](astral-sh/uv#13461)) ##### Preview features - Build backend: Normalize glob paths ([#​13465](astral-sh/uv#13465)) </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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS4xOSIsInVwZGF0ZWRJblZlciI6IjQwLjEzLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlJlbm92YXRlIEJvdCJdfQ==-->
Summary
Closes #13388
Test Plan
cargo test