id = "uv"
name = "uv"
homepage = "https://docs.astral.sh/uv/"
description = "An extremely fast Python package and project manager, written in Rust."
icon = "SimpleIcons:uv"
executables = ["uv", "uvx"]
[dotfiles]
paths = ["[configHome]/uv/uv.toml"]
exclude = [
"[xdgCache]/uv/",
"%LOCALAPPDATA%/uv/cache/",
"[xdgData]/uv/python/",
"[xdgData]/uv/tools/",
]
secret = [
"[xdgData]/uv/credentials/credentials.toml",
"%APPDATA%/uv/data/credentials/credentials.toml",
]
side_effect = false
[[dotfiles.machine_lines]]
file = "[configHome]/uv/uv.toml"
match = { key_path = ["cache-dir"] }
scope = "backup"
[commands]
format = 1
label = "uv"
description = "Python project and package manager. Forms cover add, run, sync and venv; global flags and index/resolution tuning are left out."
quality = "ai-draft"
base = "fig:uv"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true }
[[commands.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/uv.ts"
license = "MIT"
[[commands.subcommand]]
path = ["add"]
label = "Add dependencies"
description = "Add packages to the project in the current directory. Index, resolution and build options are left out."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/uv.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "packages"
label = "Packages"
description = "Package specifiers, e.g. requests or \"flask>=3\"."
type = "string"
position = 0
multiple = true
min = 1
sources = ["fig"]
[[commands.subcommand.field]]
id = "dev"
label = "Development dependency"
type = "boolean"
option = ["--dev"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "group"
label = "Dependency group"
type = "string"
option = ["--group"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "optional"
label = "Optional extra"
description = "Add to the named optional-dependencies extra."
type = "string"
option = ["--optional"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "editable"
label = "Editable"
type = "boolean"
option = ["--editable"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "extra"
label = "Enable extra"
type = "string"
option = ["--extra"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "rev"
label = "Git revision"
type = "string"
option = ["--rev"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "tag"
label = "Git tag"
type = "string"
option = ["--tag"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "branch"
label = "Git branch"
type = "string"
option = ["--branch"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "package"
label = "Workspace package"
type = "string"
option = ["--package"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "upgrade"
label = "Allow upgrades"
type = "boolean"
option = ["-U"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "add"
label = "Add packages"
fields = ["packages"]
required = ["packages"]
[[commands.subcommand.task]]
id = "add-dev"
label = "Add dev dependency"
set = { dev = [true] }
fields = ["packages", "dev"]
required = ["packages"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["packages", "dev", "group", "optional", "editable"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["rev", "tag", "branch", "package", "upgrade", "extra"]
[[commands.subcommand]]
path = ["run"]
label = "Run a command"
description = "Run a command or script in the project environment. Arguments for the command itself are typed after it."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/uv.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "command"
label = "Command"
description = "Command or script to run."
type = "string"
position = 0
min = 1
sources = ["fig"]
[[commands.subcommand.field]]
id = "with"
label = "Extra package"
description = "Run with this package installed."
type = "string"
option = ["--with"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "module"
label = "Run as module"
type = "boolean"
option = ["-m", "--module"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "script"
label = "Treat as script"
type = "boolean"
option = ["-s", "--script"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "isolated"
label = "Isolated environment"
type = "boolean"
option = ["--isolated"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "no_sync"
label = "Skip sync"
type = "boolean"
option = ["--no-sync"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "locked"
label = "Assert lockfile unchanged"
type = "boolean"
option = ["--locked"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "frozen"
label = "Do not update lockfile"
type = "boolean"
option = ["--frozen"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "no_dev"
label = "Omit dev group"
type = "boolean"
option = ["--no-dev"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "all_extras"
label = "All extras"
type = "boolean"
option = ["--all-extras"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "extra"
label = "Extra"
type = "string"
option = ["--extra"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "group"
label = "Group"
type = "string"
option = ["--group"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "env_file"
label = "Env file"
type = "path"
option = ["--env-file"]
path = { kind = "file", role = "input" }
sources = ["fig"]
[[commands.subcommand.field]]
id = "package"
label = "Workspace package"
type = "string"
option = ["--package"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "no_project"
label = "No project"
type = "boolean"
option = ["--no-project"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "run"
label = "Run command"
fields = ["command"]
required = ["command"]
[[commands.subcommand.task]]
id = "run-with"
label = "Run with extra package"
fields = ["command", "with"]
required = ["command", "with"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["command", "with", "module", "script", "isolated"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["no_sync", "locked", "frozen", "no_dev", "all_extras", "extra", "group", "env_file", "package", "no_project"]
[[commands.subcommand]]
path = ["sync"]
label = "Sync environment"
description = "Update the project's environment from the lockfile."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/uv.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "all_extras"
label = "All extras"
type = "boolean"
option = ["--all-extras"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "extra"
label = "Extra"
type = "string"
option = ["--extra"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "no_dev"
label = "Omit dev group"
type = "boolean"
option = ["--no-dev"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "only_dev"
label = "Only dev group"
type = "boolean"
option = ["--only-dev"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "group"
label = "Group"
type = "string"
option = ["--group"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "all_groups"
label = "All groups"
type = "boolean"
option = ["--all-groups"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "inexact"
label = "Keep extraneous packages"
type = "boolean"
option = ["--inexact"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "no_install_project"
label = "Skip current project"
type = "boolean"
option = ["--no-install-project"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "all_packages"
label = "All workspace packages"
type = "boolean"
option = ["--all-packages"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "package"
label = "Workspace package"
type = "string"
option = ["--package"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "upgrade"
label = "Allow upgrades"
type = "boolean"
option = ["-U"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "sync"
label = "Sync"
fields = ["no_dev", "all_extras"]
required = []
[[commands.subcommand.task]]
id = "sync-upgrade"
label = "Sync and upgrade"
set = { upgrade = [true] }
fields = ["upgrade"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["all_extras", "extra", "no_dev", "only_dev", "group", "all_groups"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["inexact", "no_install_project", "all_packages", "package", "upgrade"]
[[commands.subcommand]]
path = ["venv"]
label = "Create virtual environment"
description = "Create a virtual environment; the target path is the last argument."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/uv.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "venv_path"
label = "Path"
type = "path"
position = 0
path = { kind = "directory", role = "output" }
sources = ["fig"]
[[commands.subcommand.field]]
id = "python"
label = "Python"
description = "Interpreter or version, e.g. 3.12."
type = "string"
option = ["-p", "--python"]
suggestions = [{ value = "3.13", label = "3.13" }, { value = "3.12", label = "3.12" }, { value = "3.11", label = "3.11" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "seed"
label = "Seed pip"
type = "boolean"
option = ["--seed"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "system_site"
label = "System site packages"
type = "boolean"
option = ["--system-site-packages"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "allow_existing"
label = "Allow existing"
type = "boolean"
option = ["--allow-existing"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "prompt"
label = "Prompt"
type = "string"
option = ["--prompt"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "relocatable"
label = "Relocatable"
type = "boolean"
option = ["--relocatable"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "no_project"
label = "No project"
type = "boolean"
option = ["--no-project"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "venv"
label = "Create .venv"
fields = ["venv_path", "python"]
required = []
[[commands.subcommand.task]]
id = "venv-seed"
label = "Create with pip"
set = { seed = [true] }
fields = ["venv_path", "python", "seed"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["venv_path", "python", "seed"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["system_site", "allow_existing", "prompt", "relocatable", "no_project"]