{
  "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,
    "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
    },
    "source": [
      {
        "id": "fig",
        "kind": "completion",
        "url": "https://github.com/withfig/autocomplete/blob/master/src/uv.ts",
        "license": "MIT"
      }
    ],
    "subcommand": [
      {
        "path": [
          "add"
        ],
        "label": "Add dependencies",
        "description": "Add packages to the project in the current directory. Index, resolution and build options are left out.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/uv.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "packages",
            "label": "Packages",
            "description": "Package specifiers, e.g. requests or \"flask>=3\".",
            "type": "string",
            "position": 0,
            "multiple": true,
            "min": 1,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "dev",
            "label": "Development dependency",
            "type": "boolean",
            "option": [
              "--dev"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "group",
            "label": "Dependency group",
            "type": "string",
            "option": [
              "--group"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "optional",
            "label": "Optional extra",
            "description": "Add to the named optional-dependencies extra.",
            "type": "string",
            "option": [
              "--optional"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "editable",
            "label": "Editable",
            "type": "boolean",
            "option": [
              "--editable"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "extra",
            "label": "Enable extra",
            "type": "string",
            "option": [
              "--extra"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "rev",
            "label": "Git revision",
            "type": "string",
            "option": [
              "--rev"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "tag",
            "label": "Git tag",
            "type": "string",
            "option": [
              "--tag"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "branch",
            "label": "Git branch",
            "type": "string",
            "option": [
              "--branch"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "package",
            "label": "Workspace package",
            "type": "string",
            "option": [
              "--package"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "upgrade",
            "label": "Allow upgrades",
            "type": "boolean",
            "option": [
              "-U"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "add",
            "label": "Add packages",
            "fields": [
              "packages"
            ],
            "required": [
              "packages"
            ]
          },
          {
            "id": "add-dev",
            "label": "Add dev dependency",
            "set": {
              "dev": [
                true
              ]
            },
            "fields": [
              "packages",
              "dev"
            ],
            "required": [
              "packages"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "packages",
              "dev",
              "group",
              "optional",
              "editable"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "rev",
              "tag",
              "branch",
              "package",
              "upgrade",
              "extra"
            ]
          }
        ]
      },
      {
        "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.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/uv.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "command",
            "label": "Command",
            "description": "Command or script to run.",
            "type": "string",
            "position": 0,
            "min": 1,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "with",
            "label": "Extra package",
            "description": "Run with this package installed.",
            "type": "string",
            "option": [
              "--with"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "module",
            "label": "Run as module",
            "type": "boolean",
            "option": [
              "-m",
              "--module"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "script",
            "label": "Treat as script",
            "type": "boolean",
            "option": [
              "-s",
              "--script"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "isolated",
            "label": "Isolated environment",
            "type": "boolean",
            "option": [
              "--isolated"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "no_sync",
            "label": "Skip sync",
            "type": "boolean",
            "option": [
              "--no-sync"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "locked",
            "label": "Assert lockfile unchanged",
            "type": "boolean",
            "option": [
              "--locked"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "frozen",
            "label": "Do not update lockfile",
            "type": "boolean",
            "option": [
              "--frozen"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "no_dev",
            "label": "Omit dev group",
            "type": "boolean",
            "option": [
              "--no-dev"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "all_extras",
            "label": "All extras",
            "type": "boolean",
            "option": [
              "--all-extras"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "extra",
            "label": "Extra",
            "type": "string",
            "option": [
              "--extra"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "group",
            "label": "Group",
            "type": "string",
            "option": [
              "--group"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "env_file",
            "label": "Env file",
            "type": "path",
            "option": [
              "--env-file"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "fig"
            ]
          },
          {
            "id": "package",
            "label": "Workspace package",
            "type": "string",
            "option": [
              "--package"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "no_project",
            "label": "No project",
            "type": "boolean",
            "option": [
              "--no-project"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "run",
            "label": "Run command",
            "fields": [
              "command"
            ],
            "required": [
              "command"
            ]
          },
          {
            "id": "run-with",
            "label": "Run with extra package",
            "fields": [
              "command",
              "with"
            ],
            "required": [
              "command",
              "with"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "command",
              "with",
              "module",
              "script",
              "isolated"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "no_sync",
              "locked",
              "frozen",
              "no_dev",
              "all_extras",
              "extra",
              "group",
              "env_file",
              "package",
              "no_project"
            ]
          }
        ]
      },
      {
        "path": [
          "sync"
        ],
        "label": "Sync environment",
        "description": "Update the project's environment from the lockfile.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/uv.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "all_extras",
            "label": "All extras",
            "type": "boolean",
            "option": [
              "--all-extras"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "extra",
            "label": "Extra",
            "type": "string",
            "option": [
              "--extra"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "no_dev",
            "label": "Omit dev group",
            "type": "boolean",
            "option": [
              "--no-dev"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "only_dev",
            "label": "Only dev group",
            "type": "boolean",
            "option": [
              "--only-dev"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "group",
            "label": "Group",
            "type": "string",
            "option": [
              "--group"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "all_groups",
            "label": "All groups",
            "type": "boolean",
            "option": [
              "--all-groups"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "inexact",
            "label": "Keep extraneous packages",
            "type": "boolean",
            "option": [
              "--inexact"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "no_install_project",
            "label": "Skip current project",
            "type": "boolean",
            "option": [
              "--no-install-project"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "all_packages",
            "label": "All workspace packages",
            "type": "boolean",
            "option": [
              "--all-packages"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "package",
            "label": "Workspace package",
            "type": "string",
            "option": [
              "--package"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "upgrade",
            "label": "Allow upgrades",
            "type": "boolean",
            "option": [
              "-U"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "sync",
            "label": "Sync",
            "fields": [
              "no_dev",
              "all_extras"
            ],
            "required": []
          },
          {
            "id": "sync-upgrade",
            "label": "Sync and upgrade",
            "set": {
              "upgrade": [
                true
              ]
            },
            "fields": [
              "upgrade"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "all_extras",
              "extra",
              "no_dev",
              "only_dev",
              "group",
              "all_groups"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "inexact",
              "no_install_project",
              "all_packages",
              "package",
              "upgrade"
            ]
          }
        ]
      },
      {
        "path": [
          "venv"
        ],
        "label": "Create virtual environment",
        "description": "Create a virtual environment; the target path is the last argument.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/uv.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "venv_path",
            "label": "Path",
            "type": "path",
            "position": 0,
            "path": {
              "kind": "directory",
              "role": "output"
            },
            "sources": [
              "fig"
            ]
          },
          {
            "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"
            ]
          },
          {
            "id": "seed",
            "label": "Seed pip",
            "type": "boolean",
            "option": [
              "--seed"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "system_site",
            "label": "System site packages",
            "type": "boolean",
            "option": [
              "--system-site-packages"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "allow_existing",
            "label": "Allow existing",
            "type": "boolean",
            "option": [
              "--allow-existing"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "prompt",
            "label": "Prompt",
            "type": "string",
            "option": [
              "--prompt"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "relocatable",
            "label": "Relocatable",
            "type": "boolean",
            "option": [
              "--relocatable"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "no_project",
            "label": "No project",
            "type": "boolean",
            "option": [
              "--no-project"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "venv",
            "label": "Create .venv",
            "fields": [
              "venv_path",
              "python"
            ],
            "required": []
          },
          {
            "id": "venv-seed",
            "label": "Create with pip",
            "set": {
              "seed": [
                true
              ]
            },
            "fields": [
              "venv_path",
              "python",
              "seed"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "venv_path",
              "python",
              "seed"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "system_site",
              "allow_existing",
              "prompt",
              "relocatable",
              "no_project"
            ]
          }
        ]
      }
    ]
  }
}
