-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Add uv workspace dir command
#16678
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
Add uv workspace dir command
#16678
Conversation
83d8f8a to
8658f99
Compare
Signed-off-by: Mikayla Thompson <[email protected]>
f602976 to
aaca6e5
Compare
311c99d to
98bcecf
Compare
Signed-off-by: Mikayla Thompson <[email protected]>
98bcecf to
8401729
Compare
Signed-off-by: Mikayla Thompson <[email protected]>
| preview: Preview, | ||
| printer: Printer, | ||
| ) -> Result<ExitStatus> { | ||
| if preview.is_enabled(PreviewFeatures::WORKSPACE_METADATA) { |
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 think this should be a separate preview flag so we can stabilize things separately
|
|
||
| #[derive(Subcommand)] | ||
| pub enum WorkspaceCommand { | ||
| /// Display package metadata. |
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.
(My own doc here is bad, I should fix that)
Co-authored-by: Zanie Blue <[email protected]>
CodSpeed Performance ReportMerging #16678 will not alter performanceComparing Summary
|
Signed-off-by: Mikayla Thompson <[email protected]>
Signed-off-by: Mikayla Thompson <[email protected]>
Signed-off-by: Mikayla Thompson <[email protected]>
| let dir: &Path = match package_name { | ||
| None => workspace.install_path().as_path(), | ||
| Some(package) => { | ||
| if let Some(p) = workspace.packages().get(&package) { | ||
| p.root().as_path() | ||
| } else { | ||
| bail!("Package `{package}` not found in workspace.") | ||
| } | ||
| } | ||
| }; |
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.
This code compiles without the type cast:
| let dir: &Path = match package_name { | |
| None => workspace.install_path().as_path(), | |
| Some(package) => { | |
| if let Some(p) = workspace.packages().get(&package) { | |
| p.root().as_path() | |
| } else { | |
| bail!("Package `{package}` not found in workspace.") | |
| } | |
| } | |
| }; | |
| let dir = match package_name { | |
| None => workspace.install_path(), | |
| Some(package) => { | |
| if let Some(p) = workspace.packages().get(&package) { | |
| p.root() | |
| } else { | |
| bail!("Package `{package}` not found in workspace.") | |
| } | |
| } | |
| }; |
| ); | ||
| } | ||
|
|
||
| // Workspace dir output when run with `--package` |
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.
nit:
| // Workspace dir output when run with `--package` | |
| /// Workspace dir output when run with `--package`. |
Signed-off-by: Mikayla Thompson <[email protected]>
…ollowups (#16690) ## Summary 1. Discussed in review of #16678 that println should be replaced by using `printer`. The `println` pattern was pretty consistent across all the `dir` commands, so I've updated all of them in this PR (there are some usages of `println` outside of `uv/src/commands` that I didn't touch -- the use cases there seemed more complex and nuanced). 2. I missed two comments in the previous PR before merging, so updates from those are in here as well. ## Test Plan No behavior changes, existing tests for all commands pass. --------- Signed-off-by: Mikayla Thompson <[email protected]>
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.9.8` -> `0.9.9` | 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.9`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#099) [Compare Source](astral-sh/uv@0.9.8...0.9.9) Released on 2025-11-12. ##### Deprecations - Deprecate use of `--project` in `uv init` ([#​16674](astral-sh/uv#16674)) ##### Enhancements - Add iOS support to Python interpreter discovery ([#​16686](astral-sh/uv#16686)) - Reject ambiguously parsed URLs ([#​16622](astral-sh/uv#16622)) - Allow explicit values in `uv version --bump` ([#​16555](astral-sh/uv#16555)) - Warn on use of managed pre-release Python versions when a stable version is available ([#​16619](astral-sh/uv#16619)) - Allow signing trampolines on Windows by using `.rcdata` to store metadata ([#​15068](astral-sh/uv#15068)) - Add `--only-emit-workspace` and similar variants to `uv export` ([#​16681](astral-sh/uv#16681)) ##### Preview features - Add `uv workspace dir` command ([#​16678](astral-sh/uv#16678)) - Add `uv workspace metadata` command ([#​16516](astral-sh/uv#16516)) ##### Configuration - Add `UV_NO_DEFAULT_GROUPS` environment variable ([#​16645](astral-sh/uv#16645)) ##### Bug fixes - Remove `torch-model-archiver` and `torch-tb-profiler` from PyTorch backend ([#​16655](astral-sh/uv#16655)) - Fix Pixi environment detection ([#​16585](astral-sh/uv#16585)) ##### Documentation - Fix `CMD` path in FastAPI Dockerfile ([#​16701](astral-sh/uv#16701)) </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=-->
Addresses #13636
Prints the path to the workspace root by default, and any of the child packages if requested.
It has a preview flag like
workspace metadata, calledworkspace-dir.Summary
Test Plan
Unit tests added.