Skip to content

Add support for declarative tool installations (e.g., like Brewfile) #12533

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

Open
michaeltinsley opened this issue Mar 28, 2025 · 3 comments
Open
Labels
enhancement New feature or improvement to existing functionality

Comments

@michaeltinsley
Copy link

Summary

It would be great if uv had a way to store all installed tool installations into a standard file, similar to a homebrew brewfile.

My use case is I want to have tools installed with uv tool install ... added to a config file that I can track in git along with my brew installed libs in a brewfile, and my other dotfiles.

Example

No response

@michaeltinsley michaeltinsley added the enhancement New feature or improvement to existing functionality label Mar 28, 2025
@zanieb zanieb changed the title Add a uv tool equivalent of a Brewfile Add support for declarative tool installations (e.g., like Brewfile) Apr 1, 2025
@zanieb
Copy link
Member

zanieb commented Apr 1, 2025

Yeah; this is on the roadmap, though it's not a high priority right now.

@itcarroll
Copy link

@michaeltinsley Would you be okay with using pyproject.toml for this (see my near duplicate at #13268) or do you need to keep this separate from any project?

@michaeltinsley
Copy link
Author

@itcarroll - I think a pyproject.toml would work for my use case. I could dump that in ~/.config/uv/pyproject.toml.

For my ideal workflow, I would have something like:

# ~/.config/uv/pyproject.toml
[dependency-groups]
tools = [
    "ruff",
]

which would give something like:

> uv tool list
ruff v0.11.8
- ruff

Then if I do uv tool add black, it would automatically add it

> cat ~/.config/uv/pyproject.toml
...
[dependency-groups]
tools = [
    "ruff",
    "black",
]

That would be my ideal flow - I guess I'm more interested in uv tool add ... being automatically persisted to a file than anything, if that makes sense

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or improvement to existing functionality
Projects
None yet
Development

No branches or pull requests

3 participants