mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-02 10:02:16 +00:00
Implement uv run --directory
(#5566)
## Summary uv run --directory <path> means that one doesn't have to change to a project's directory to run programs from it. It makes it possible to use projects as if they are tool installations. To support this, first the code reading .python-version was updated so that it can read such markers outside the current directory. Note the minor change this causes (if I'm right), described in the commit. ## Test Plan One test has been added. ## --directory Not sure what the name of the argument should be, but it's following uv sync's directory for now. Other alternatives could be "--project". Uv run and uv tool run should probably find common agreement on this (relevant for project-locked tools). I've implemented this same change in Rye, some time ago, and then we went with --pyproject `<`path to pyproject.toml file`>`. I think using pyproject.toml file path and not directory was probably a mistake, an overgeneralization one doesn't need.
This commit is contained in:
parent
cf94a10054
commit
e46c24d3cf
10 changed files with 119 additions and 22 deletions
|
@ -1932,6 +1932,10 @@ pub struct RunArgs {
|
|||
/// - `/home/ferris/.local/bin/python3.10` uses the exact Python at the given path.
|
||||
#[arg(long, short, env = "UV_PYTHON", verbatim_doc_comment)]
|
||||
pub python: Option<String>,
|
||||
|
||||
/// The path to the project. Defaults to the current working directory.
|
||||
#[arg(long, hide = true)]
|
||||
pub directory: Option<PathBuf>,
|
||||
}
|
||||
|
||||
#[derive(Args)]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue