diff --git a/crates/uv-dev/src/generate_cli_reference.rs b/crates/uv-dev/src/generate_cli_reference.rs index 5dfcfe75e..eec835e27 100644 --- a/crates/uv-dev/src/generate_cli_reference.rs +++ b/crates/uv-dev/src/generate_cli_reference.rs @@ -220,6 +220,8 @@ fn generate_command<'a>(output: &mut String, command: &'a Command, parents: &mut if let Some(help) = opt.get_long_help().or_else(|| opt.get_help()) { output.push_str("
By default, uv will stop at the first index on which a given package is available, and limit resolutions to those present on that first index (first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--resolution resolutionThe strategy to use when selecting between the different compatible versions for a given package requirement.
By default, uv will use the latest compatible version of each package (highest).
Possible values:
+ +highest: Resolve the highest compatible version of each packagelowest: Resolve the lowest compatible version of each packagelowest-direct: Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies--prerelease prereleaseThe strategy to use when considering pre-release versions.
By default, uv will accept pre-releases for packages that only publish pre-releases, along with first-party requirements that contain an explicit pre-release marker in the declared specifiers (if-necessary-or-explicit).
Possible values:
+ +disallow: Disallow all pre-release versionsallow: Allow all pre-release versionsif-necessary: Allow pre-release versions if all versions of a package are pre-releaseexplicit: Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirementsif-necessary-or-explicit: Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements--config-setting, -C config-settingSettings to pass to the PEP 517 build backend, specified as KEY=VALUE pairs
--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
@@ -166,6 +204,17 @@ uv pip compile [OPTIONS]Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--refresh-package refresh-packageRefresh cached data for a specific package
--output-file, -o output-fileWrite the compiled requirements to the given requirements.txt file.
Defaults to split.
Possible values:
+ +line: Render the annotations on a single, comma-separated linesplit: Render each annotation on its own line--custom-compile-command custom-compile-commandThe header comment to include at the top of the output file generated by uv pip compile.
Used to reflect custom build scripts and commands that wrap uv pip compile.
Represented as a "target triple", a string that describes the target platform in terms of its CPU, vendor, and operating system name, like x86_64-unknown-linux-gnu or aaarch64-apple-darwin.
Possible values:
+ +windows: An alias for x86_64-pc-windows-msvc, the default target for Windowslinux: An alias for x86_64-unknown-linux-gnu, the default target for Linuxmacos: An alias for aarch64-apple-darwin, the default target for macOSx86_64-pc-windows-msvc: An x86 Windows targetx86_64-unknown-linux-gnu: An x86 Linux target. Equivalent to x86_64-manylinux_2_17aarch64-apple-darwin: An ARM-based macOS target, as seen on Apple Silicon devicesx86_64-apple-darwin: An x86 macOS targetaarch64-unknown-linux-gnu: An ARM64 Linux target. Equivalent to aarch64-manylinux_2_17aarch64-unknown-linux-musl: An ARM64 Linux targetx86_64-unknown-linux-musl: An x86_64 Linux targetx86_64-manylinux_2_17: An x86_64 target for the manylinux_2_17 platformx86_64-manylinux_2_28: An x86_64 target for the manylinux_2_28 platformx86_64-manylinux_2_31: An x86_64 target for the manylinux_2_31 platformaarch64-manylinux_2_17: An ARM64 target for the manylinux_2_17 platformaarch64-manylinux_2_28: An ARM64 target for the manylinux_2_28 platformaarch64-manylinux_2_31: An ARM64 target for the manylinux_2_31 platform--no-emit-package no-emit-packageSpecify a package to omit from the output resolution. Its dependencies will still be included in the resolution. Equivalent to pip-compile’s --unsafe-package option
--cache-dir cache-dirPath to the cache directory.
@@ -222,10 +313,38 @@ uv pip compile [OPTIONS]--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
By default, uv will stop at the first index on which a given package is available, and limit resolutions to those present on that first index (first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--config-setting, -C config-settingSettings to pass to the PEP 517 build backend, specified as KEY=VALUE pairs
--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
@@ -302,6 +437,17 @@ uv pip sync [OPTIONS]Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--refresh-package refresh-packageRefresh cached data for a specific package
--python, -p pythonThe Python interpreter into which packages should be installed.
@@ -346,16 +492,79 @@ uv pip sync [OPTIONS]WARNING: When specified, uv will select wheels that are compatible with the target platform; as a result, the installed distributions may not be compatible with the current platform. Conversely, any distributions that are built from source may be incompatible with the target platform, as they will be built for the current platform. The --python-platform option is intended for advanced use cases.
Possible values:
+ +windows: An alias for x86_64-pc-windows-msvc, the default target for Windowslinux: An alias for x86_64-unknown-linux-gnu, the default target for Linuxmacos: An alias for aarch64-apple-darwin, the default target for macOSx86_64-pc-windows-msvc: An x86 Windows targetx86_64-unknown-linux-gnu: An x86 Linux target. Equivalent to x86_64-manylinux_2_17aarch64-apple-darwin: An ARM-based macOS target, as seen on Apple Silicon devicesx86_64-apple-darwin: An x86 macOS targetaarch64-unknown-linux-gnu: An ARM64 Linux target. Equivalent to aarch64-manylinux_2_17aarch64-unknown-linux-musl: An ARM64 Linux targetx86_64-unknown-linux-musl: An x86_64 Linux targetx86_64-manylinux_2_17: An x86_64 target for the manylinux_2_17 platformx86_64-manylinux_2_28: An x86_64 target for the manylinux_2_28 platformx86_64-manylinux_2_31: An x86_64 target for the manylinux_2_31 platformaarch64-manylinux_2_17: An ARM64 target for the manylinux_2_17 platformaarch64-manylinux_2_28: An ARM64 target for the manylinux_2_28 platformaarch64-manylinux_2_31: An ARM64 target for the manylinux_2_31 platform--cache-dir cache-dirPath to the cache directory.
Defaults to $HOME/Library/Caches/uv on macOS, $XDG_CACHE_HOME/uv or $HOME/.cache/uv on Linux, and {FOLDERID_LocalAppData}\uv\cache on Windows.
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
+Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--resolution resolutionThe strategy to use when selecting between the different compatible versions for a given package requirement.
By default, uv will use the latest compatible version of each package (highest).
Possible values:
+ +highest: Resolve the highest compatible version of each packagelowest: Resolve the lowest compatible version of each packagelowest-direct: Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies--prerelease prereleaseThe strategy to use when considering pre-release versions.
By default, uv will accept pre-releases for packages that only publish pre-releases, along with first-party requirements that contain an explicit pre-release marker in the declared specifiers (if-necessary-or-explicit).
Possible values:
+ +disallow: Disallow all pre-release versionsallow: Allow all pre-release versionsif-necessary: Allow pre-release versions if all versions of a package are pre-releaseexplicit: Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirementsif-necessary-or-explicit: Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements--config-setting, -C config-settingSettings to pass to the PEP 517 build backend, specified as KEY=VALUE pairs
--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
@@ -456,6 +703,17 @@ uv pip install [OPTIONS]clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
+Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--refresh-package refresh-packageRefresh cached data for a specific package
--python, -p pythonThe Python interpreter into which packages should be installed.
@@ -500,16 +758,79 @@ uv pip install [OPTIONS]--python-platform option is intended for advanced use cases.
+Possible values:
+ +windows: An alias for x86_64-pc-windows-msvc, the default target for Windowslinux: An alias for x86_64-unknown-linux-gnu, the default target for Linuxmacos: An alias for aarch64-apple-darwin, the default target for macOSx86_64-pc-windows-msvc: An x86 Windows targetx86_64-unknown-linux-gnu: An x86 Linux target. Equivalent to x86_64-manylinux_2_17aarch64-apple-darwin: An ARM-based macOS target, as seen on Apple Silicon devicesx86_64-apple-darwin: An x86 macOS targetaarch64-unknown-linux-gnu: An ARM64 Linux target. Equivalent to aarch64-manylinux_2_17aarch64-unknown-linux-musl: An ARM64 Linux targetx86_64-unknown-linux-musl: An x86_64 Linux targetx86_64-manylinux_2_17: An x86_64 target for the manylinux_2_17 platformx86_64-manylinux_2_28: An x86_64 target for the manylinux_2_28 platformx86_64-manylinux_2_31: An x86_64 target for the manylinux_2_31 platformaarch64-manylinux_2_17: An ARM64 target for the manylinux_2_17 platformaarch64-manylinux_2_28: An ARM64 target for the manylinux_2_28 platformaarch64-manylinux_2_31: An ARM64 target for the manylinux_2_31 platform--cache-dir cache-dirPath to the cache directory.
Defaults to $HOME/Library/Caches/uv on macOS, $XDG_CACHE_HOME/uv or $HOME/.cache/uv on Linux, and {FOLDERID_LocalAppData}\uv\cache on Windows.
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--target targetUninstall packages from the specified --target directory
--prefix prefixUninstall packages from the specified --prefix directory
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--format formatSelect the output format between: columns (default), freeze, or json
[default: columns]
+Possible values:
+ +columns: Display the list of packages in a human-readable tablefreeze: Display the list of packages in a pip freeze-like format, with one package per line alongside its versionjson: Display the list of packages in a machine-readable JSON format--python, -p pythonThe Python interpreter for which packages should be listed.
By default, uv lists packages in the currently activated virtual environment, or a virtual environment (.venv) located in the current working directory or any parent directory, falling back to the system Python if no virtual environment is found.
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--depth, -d depthMaximum display depth of the dependency tree
+[default: 255]
--prune prunePrune the given package from the display of the dependency tree
--package packageDisplay only the specified packages
@@ -740,10 +1191,38 @@ uv pip tree [OPTIONS]--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
By default, uv will stop at the first index on which a given package is available, and limit resolutions to those present on that first index (first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--resolution resolutionThe strategy to use when selecting between the different compatible versions for a given package requirement.
By default, uv will use the latest compatible version of each package (highest).
Possible values:
+ +highest: Resolve the highest compatible version of each packagelowest: Resolve the lowest compatible version of each packagelowest-direct: Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies--prerelease prereleaseThe strategy to use when considering pre-release versions.
By default, uv will accept pre-releases for packages that only publish pre-releases, along with first-party requirements that contain an explicit pre-release marker in the declared specifiers (if-necessary-or-explicit).
Possible values:
+ +disallow: Disallow all pre-release versionsallow: Allow all pre-release versionsif-necessary: Allow pre-release versions if all versions of a package are pre-releaseexplicit: Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirementsif-necessary-or-explicit: Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements--config-setting, -C config-settingSettings to pass to the PEP 517 build backend, specified as KEY=VALUE pairs
--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
@@ -884,6 +1429,17 @@ uv tool run [OPTIONS] [COMMAND]Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--no-build-package no-build-packageDon’t build source distributions for a specific package
--no-binary-package no-binary-packageDon’t install pre-built wheels for a specific package
@@ -910,10 +1466,38 @@ uv tool run [OPTIONS] [COMMAND]--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
By default, uv will stop at the first index on which a given package is available, and limit resolutions to those present on that first index (first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--resolution resolutionThe strategy to use when selecting between the different compatible versions for a given package requirement.
By default, uv will use the latest compatible version of each package (highest).
Possible values:
+ +highest: Resolve the highest compatible version of each packagelowest: Resolve the lowest compatible version of each packagelowest-direct: Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies--prerelease prereleaseThe strategy to use when considering pre-release versions.
By default, uv will accept pre-releases for packages that only publish pre-releases, along with first-party requirements that contain an explicit pre-release marker in the declared specifiers (if-necessary-or-explicit).
Possible values:
+ +disallow: Disallow all pre-release versionsallow: Allow all pre-release versionsif-necessary: Allow pre-release versions if all versions of a package are pre-releaseexplicit: Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirementsif-necessary-or-explicit: Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements--config-setting, -C config-settingSettings to pass to the PEP 517 build backend, specified as KEY=VALUE pairs
--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
@@ -990,6 +1612,17 @@ uv tool install [OPTIONS]Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--no-build-package no-build-packageDon’t build source distributions for a specific package
--no-binary-package no-binary-packageDon’t install pre-built wheels for a specific package
@@ -1016,10 +1649,38 @@ uv tool install [OPTIONS]--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
By default, uv will stop at the first index on which a given package is available, and limit resolutions to those present on that first index (first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--resolution resolutionThe strategy to use when selecting between the different compatible versions for a given package requirement.
By default, uv will use the latest compatible version of each package (highest).
Possible values:
+ +highest: Resolve the highest compatible version of each packagelowest: Resolve the lowest compatible version of each packagelowest-direct: Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies--prerelease prereleaseThe strategy to use when considering pre-release versions.
By default, uv will accept pre-releases for packages that only publish pre-releases, along with first-party requirements that contain an explicit pre-release marker in the declared specifiers (if-necessary-or-explicit).
Possible values:
+ +disallow: Disallow all pre-release versionsallow: Allow all pre-release versionsif-necessary: Allow pre-release versions if all versions of a package are pre-releaseexplicit: Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirementsif-necessary-or-explicit: Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements--config-setting, -C config-settingSettings to pass to the PEP 517 build backend, specified as KEY=VALUE pairs
--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
@@ -1462,6 +2469,17 @@ uv run [OPTIONS]Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--no-build-package no-build-packageDon’t build source distributions for a specific package
--no-binary-package no-binary-packageDon’t install pre-built wheels for a specific package
@@ -1490,10 +2508,38 @@ uv run [OPTIONS]--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
By default, uv will stop at the first index on which a given package is available, and limit resolutions to those present on that first index (first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--resolution resolutionThe strategy to use when selecting between the different compatible versions for a given package requirement.
By default, uv will use the latest compatible version of each package (highest).
Possible values:
+ +highest: Resolve the highest compatible version of each packagelowest: Resolve the lowest compatible version of each packagelowest-direct: Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies--prerelease prereleaseThe strategy to use when considering pre-release versions.
By default, uv will accept pre-releases for packages that only publish pre-releases, along with first-party requirements that contain an explicit pre-release marker in the declared specifiers (if-necessary-or-explicit).
Possible values:
+ +disallow: Disallow all pre-release versionsallow: Allow all pre-release versionsif-necessary: Allow pre-release versions if all versions of a package are pre-releaseexplicit: Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirementsif-necessary-or-explicit: Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements--config-setting, -C config-settingSettings to pass to the PEP 517 build backend, specified as KEY=VALUE pairs
--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
@@ -1564,6 +2648,17 @@ uv sync [OPTIONS]Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--no-build-package no-build-packageDon’t build source distributions for a specific package
--no-binary-package no-binary-packageDon’t install pre-built wheels for a specific package
@@ -1592,10 +2687,38 @@ uv sync [OPTIONS]--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
By default, uv will stop at the first index on which a given package is available, and limit resolutions to those present on that first index (first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--resolution resolutionThe strategy to use when selecting between the different compatible versions for a given package requirement.
By default, uv will use the latest compatible version of each package (highest).
Possible values:
+ +highest: Resolve the highest compatible version of each packagelowest: Resolve the lowest compatible version of each packagelowest-direct: Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies--prerelease prereleaseThe strategy to use when considering pre-release versions.
By default, uv will accept pre-releases for packages that only publish pre-releases, along with first-party requirements that contain an explicit pre-release marker in the declared specifiers (if-necessary-or-explicit).
Possible values:
+ +disallow: Disallow all pre-release versionsallow: Allow all pre-release versionsif-necessary: Allow pre-release versions if all versions of a package are pre-releaseexplicit: Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirementsif-necessary-or-explicit: Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements--config-setting, -C config-settingSettings to pass to the PEP 517 build backend, specified as KEY=VALUE pairs
--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
@@ -1662,6 +2823,17 @@ uv lock [OPTIONS]Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--no-build-package no-build-packageDon’t build source distributions for a specific package
--no-binary-package no-binary-packageDon’t install pre-built wheels for a specific package
@@ -1688,10 +2860,38 @@ uv lock [OPTIONS]--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
By default, uv will stop at the first index on which a given package is available, and limit resolutions to those present on that first index (first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--resolution resolutionThe strategy to use when selecting between the different compatible versions for a given package requirement.
By default, uv will use the latest compatible version of each package (highest).
Possible values:
+ +highest: Resolve the highest compatible version of each packagelowest: Resolve the lowest compatible version of each packagelowest-direct: Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies--prerelease prereleaseThe strategy to use when considering pre-release versions.
By default, uv will accept pre-releases for packages that only publish pre-releases, along with first-party requirements that contain an explicit pre-release marker in the declared specifiers (if-necessary-or-explicit).
Possible values:
+ +disallow: Disallow all pre-release versionsallow: Allow all pre-release versionsif-necessary: Allow pre-release versions if all versions of a package are pre-releaseexplicit: Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirementsif-necessary-or-explicit: Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements--config-setting, -C config-settingSettings to pass to the PEP 517 build backend, specified as KEY=VALUE pairs
--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
@@ -1774,6 +3012,17 @@ uv add [OPTIONS]Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--no-build-package no-build-packageDon’t build source distributions for a specific package
--no-binary-package no-binary-packageDon’t install pre-built wheels for a specific package
@@ -1802,10 +3051,38 @@ uv add [OPTIONS]--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
By default, uv will stop at the first index on which a given package is available, and limit resolutions to those present on that first index (first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--resolution resolutionThe strategy to use when selecting between the different compatible versions for a given package requirement.
By default, uv will use the latest compatible version of each package (highest).
Possible values:
+ +highest: Resolve the highest compatible version of each packagelowest: Resolve the lowest compatible version of each packagelowest-direct: Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies--prerelease prereleaseThe strategy to use when considering pre-release versions.
By default, uv will accept pre-releases for packages that only publish pre-releases, along with first-party requirements that contain an explicit pre-release marker in the declared specifiers (if-necessary-or-explicit).
Possible values:
+ +disallow: Disallow all pre-release versionsallow: Allow all pre-release versionsif-necessary: Allow pre-release versions if all versions of a package are pre-releaseexplicit: Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirementsif-necessary-or-explicit: Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements--config-setting, -C config-settingSettings to pass to the PEP 517 build backend, specified as KEY=VALUE pairs
--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
@@ -1880,6 +3195,17 @@ uv remove [OPTIONS]Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--no-build-package no-build-packageDon’t build source distributions for a specific package
--no-binary-package no-binary-packageDon’t install pre-built wheels for a specific package
@@ -1908,10 +3234,38 @@ uv remove [OPTIONS]--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--depth, -d depthMaximum display depth of the dependency tree
+[default: 255]
--prune prunePrune the given package from the display of the dependency tree
--package packageDisplay only the specified packages
@@ -1962,20 +3317,58 @@ uv tree [OPTIONS]By default, uv will stop at the first index on which a given package is available, and limit resolutions to those present on that first index (first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--resolution resolutionThe strategy to use when selecting between the different compatible versions for a given package requirement.
By default, uv will use the latest compatible version of each package (highest).
Possible values:
+ +highest: Resolve the highest compatible version of each packagelowest: Resolve the lowest compatible version of each packagelowest-direct: Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies--prerelease prereleaseThe strategy to use when considering pre-release versions.
By default, uv will accept pre-releases for packages that only publish pre-releases, along with first-party requirements that contain an explicit pre-release marker in the declared specifiers (if-necessary-or-explicit).
Possible values:
+ +disallow: Disallow all pre-release versionsallow: Allow all pre-release versionsif-necessary: Allow pre-release versions if all versions of a package are pre-releaseexplicit: Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirementsif-necessary-or-explicit: Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements--config-setting, -C config-settingSettings to pass to the PEP 517 build backend, specified as KEY=VALUE pairs
--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
@@ -1988,6 +3381,17 @@ uv tree [OPTIONS]Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--python, -p pythonThe Python interpreter for which packages should be listed.
By default, uv installs into the virtual environment in the current working directory or any parent directory. The --python option allows you to specify a different interpreter, which is intended for use in continuous integration (CI) environments or other automated workflows.
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
By default, uv will stop at the first index on which a given package is available, and limit resolutions to those present on that first index (first-match). This prevents "dependency confusion" attacks, whereby an attack can upload a malicious package under the same name to a secondary.
Possible values:
+ +first-index: Only use results from the first index that returns a match for a given package nameunsafe-first-match: Search for every package name across all indexes, exhausting the versions from the first index before moving on to the nextunsafe-best-match: Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index--keyring-provider keyring-providerAttempt to use keyring for authentication for index URLs.
At present, only --keyring-provider subprocess is supported, which configures uv to use the keyring CLI to handle authentication.
Defaults to disabled.
Possible values:
+ +disabled: Do not use keyring for credential lookupsubprocess: Use the keyring command for credential lookup--exclude-newer exclude-newerLimit candidate packages to those that were uploaded prior to the given date.
Accepts both RFC 3339 timestamps (e.g., 2006-12-02T02:07:43Z) and UTC dates in the same format (e.g., 2006-12-02).
Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.
Possible values:
+ +clone: Clone (i.e., copy-on-write) packages from the wheel into the site-packages directorycopy: Copy packages from the wheel into the site-packages directoryhardlink: Hard link packages from the wheel into the site-packages directorysymlink: Symbolically link packages from the wheel into the site-packages directory--cache-dir cache-dirPath to the cache directory.
Defaults to $HOME/Library/Caches/uv on macOS, $XDG_CACHE_HOME/uv or $HOME/.cache/uv on Linux, and {FOLDERID_LocalAppData}\uv\cache on Windows.
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration
--python-preference python-preferenceWhether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv
+Possible values:
+ +only-managed: Only use managed Python installations; never use system Python installationsmanaged: Prefer managed Python installations over system Python installationssystem: Prefer system Python installations over managed Python installationsonly-system: Only use system Python installations; never use managed Python installations--python-fetch python-fetchWhether to automatically download Python when required
+Possible values:
+ +automatic: Automatically fetch managed Python installations when neededmanual: Do not automatically fetch managed Python installations; require explicit installation--color color-choiceControl colors in output
+[default: auto]
+Possible values:
+ +auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output--config-file config-fileThe path to a uv.toml file to use for configuration