name: uv ecosystem: pypi binary: uv version: ">=0.4.0" status: current min_tested: "0.4.0" max_tested: "0.9.7" detection: lockfiles: - uv.lock manifests: - pyproject.toml file_checks: - file: pyproject.toml match: '\[tool\.uv\]' default: true ecosystem_order: 50 priority: 30 # higher than pip/poetry when uv.lock present version_detection: command: [--version] pattern: 'uv (\d+\.\d+\.\d+)' commands: init: base: [init] exit_codes: 0: success 1: error # uv sync installs from lockfile install: base: [sync] flags: frozen: [--frozen] locked: [--locked] no_dev: [--no-dev] all_extras: [--all-extras] offline: [--offline] dry_run: [--dry-run] quiet: [--quiet] exit_codes: 0: success 1: error add: base: [add] args: package: {position: 0, required: true, validate: pypi_package} flags: dev: [--dev] optional: [--optional, {value: optional}] group: [--group, {value: group}] editable: [--editable] no_sync: [--no-sync] frozen: [--frozen] quiet: [--quiet] # git options rev: [--rev, {value: rev}] tag: [--tag, {value: tag}] branch: [--branch, {value: branch}] exit_codes: 0: success 1: error remove: base: [remove] args: package: {position: 0, required: true, validate: pypi_package} flags: dev: [--dev] optional: [--optional, {value: optional}] group: [--group, {value: group}] no_sync: [--no-sync] frozen: [--frozen] quiet: [--quiet] exit_codes: 0: success 1: error # uv tree shows dependency tree list: base: [tree] flags: depth: [--depth, {value: depth}] no_dev: [--no-dev] frozen: [--frozen] quiet: [--quiet] exit_codes: 0: success 1: error # uv tree --outdated shows outdated packages outdated: base: [tree] flags: no_dev: [--no-dev] frozen: [--frozen] quiet: [--quiet] default_flags: [--outdated] exit_codes: 0: success 1: error # uv lock --upgrade + uv sync to update # or uv sync --upgrade for in-place update update: base: [sync] args: package: required: false validate: pypi_package flag: "--upgrade-package" suppresses_default_flags: true flags: quiet: [--quiet] default_flags: [--upgrade] exit_codes: 0: success 1: error # uv pip show works like pip show path: base: [pip, show, -f] args: package: {position: 0, required: true, validate: pypi_package} exit_codes: 0: success 1: error extract: type: python_distribution resolve: base: [tree] exit_codes: 0: success 1: error capabilities: - init - install - install_frozen - add - add_dev - remove - update - list - outdated - workspace - path - resolve # replace edits pyproject.toml [tool.uv.sources] directly - replace_path - replace_git - replace_drop # no native json_output for tree