Skip to content

Conversation

@zanieb
Copy link
Member

@zanieb zanieb commented Oct 30, 2025

This adds the scaffolding for a uv workspace metadata command, as an equivalent to cargo metadata, for integration with downstream tools. I didn't do much here beyond emit the workspace root path and the paths of the workspace members. I explored doing a bit more in #16638, but I think we're actually going to want to come up with a fairly comprehensive schema like cargo metadata has. I've started exploring that too, but I don't have a concrete proposal to share yet.

I don't want this to be a top-level command because I think people would expect uv metadata <PACKAGE> to show metadata about arbitrary packages (this has been requested several times). I also think we can do other things in the workspace namespace to make trivial integrations simpler, like uv workspace list (enumerate members) and uv workspace dir (show the path to the workspace root).

I don't expect this to be stable at all to start. I've both gated it with preview and hidden it from the help. The intent is to merge so we can iterate on it as we figure out what integrations need.

@elephantum
Copy link

elephantum commented Nov 7, 2025

I was looking exactly for this sort of functionality today.

It would be great if alongside with names of workspace packages, this command could return their dependencies (I'm specifically interested in dependency relations between workspace members)

@zanieb
Copy link
Member Author

zanieb commented Nov 7, 2025

I actually have that implemented locally — I need the exact same feature :) it's just more complicated so I was going to open a separate pull request.

@zanieb zanieb marked this pull request as ready for review November 10, 2025 22:33
@zanieb zanieb temporarily deployed to uv-test-registries November 10, 2025 22:51 — with GitHub Actions Inactive
@zanieb zanieb added the cli Related to the command line interface label Nov 10, 2025
members: Vec<WorkspaceMemberReport>,
}

/// Display package metadata.
Copy link
Member

@charliermarsh charliermarsh Nov 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Project metadata, maybe?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or, "workspace metadata"?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shameful AI slop, thanks!

@zanieb zanieb enabled auto-merge (squash) November 11, 2025 15:35
@zanieb zanieb deployed to uv-test-registries November 11, 2025 15:36 — with GitHub Actions Active
@zanieb zanieb merged commit 3ccad58 into main Nov 11, 2025
98 of 99 checks passed
@zanieb zanieb deleted the zb/metadata branch November 11, 2025 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli Related to the command line interface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants