From 24197603566491241d5633792072dc0daf4adf09 Mon Sep 17 00:00:00 2001 From: Zeyad Moustafa <117115945+ZeyadMoustafaKamal@users.noreply.github.com> Date: Sat, 24 Aug 2024 01:17:37 +0300 Subject: [PATCH] docs: made `uvx` note more explict (#6546) ## Summary I used `uvx` to test my code using `pytest` it was just before the documentation and it worked pretty fine. But when I saw the docs I was confused as it says: > If you are running a tool in a project and the tool requires that your project is installed, e.g., when using `pytest` or `mypy`, you'll want to use `uv` run instead of `uvx`. Otherwise, the tool will be run in a virtual environment that is isolated from your project. So to make it simple if you don't recommend using `uvx` in this situation then here is the pull request, and if not just close this pull request. I said that I don't have to open an issue to discuss this as it's so simple. ## Test Plan None --------- Co-authored-by: Zanie Blue --- docs/guides/tools.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/guides/tools.md b/docs/guides/tools.md index 0d40d95ba..b692f4ec9 100644 --- a/docs/guides/tools.md +++ b/docs/guides/tools.md @@ -43,9 +43,15 @@ Tools are installed into temporary, isolated environments when using `uvx`. !!! note - If you are running a tool in a [_project_](../concepts/projects.md) and the tool requires that your project is installed, - e.g., when using `pytest` or `mypy`, you'll want to use [`uv run`](./projects.md#running-commands) instead of `uvx`. - Otherwise, the tool will be run in a virtual environment that is isolated from your project. + If you are running a tool in a [_project_](../concepts/projects.md) and the tool requires that + your project is installed, e.g., when using `pytest` or `mypy`, you'll want to use + [`uv run`](./projects.md#running-commands) instead of `uvx`. Otherwise, the tool will be run in + a virtual environment that is isolated from your project. + + If your project has a flat structure, e.g., instead of using a `src` directory for modules, + the project itself does not need to be installed and `uvx` is fine. In this case, using + `uv run` is only beneficial if you want to pin the version of the tool in the project's + dependencies. ## Commands with different package names