Skip to content

Reference

uvr release

uvr release [options]
FlagDescription
--where {ci|local}ci dispatches to GitHub Actions (default). local runs in your shell.
--dry-runPreview the plan without making changes.
--plan JSONExecute a pre-computed plan instead of generating one.
--rebuild PKG [...]Force specific packages to be treated as changed.
--rebuild-allTreat all packages as changed.
--allow-dirtyProceed with uncommitted changes.
--python VERPython version for CI builds (default 3.12).
--devPublish .devN as-is instead of stripping it.
--bump TYPEBump all changed packages before planning.
-y, --yesSkip the confirmation prompt.
--skip JOBSkip a CI job (repeatable).
--skip-to JOBSkip all jobs before JOB (except uvr-validate).
--reuse-run RUN_IDDownload artifacts from a prior CI run.
--reuse-releaseAssume GitHub releases already exist.
--no-pushSkip git push (local mode only).
--jsonPrint only the plan JSON and exit.
--release-notes PKG NOTESSet release notes (inline text or @file). Repeatable.
--workflow-dir DIRWorkflow directory (default .github/workflows).

uvr status

uvr status [--rebuild-all] [--rebuild PKG [...]] [--workflow-dir DIR]

uvr bump

uvr bump <type> [scope] [options]

Type (required). --major, --minor, --patch, --alpha, --beta, --rc, --post, --dev, --stable.

Scope (optional).

FlagDescription
(default)Changed packages only.
--allAll workspace packages.
--packages PKG [...]Specific packages. Use --force to skip the changed-package guard.
FlagDescription
--no-pinSkip updating dependency pins in downstream packages.

uvr build

uvr build [--rebuild-all] [--rebuild PKG [...]] [--python VER]

uvr install

uvr install [PKG[@VERSION] ...] [--dist DIR] [--repo ORG/REPO] [--run-id ID]

uvr download

uvr download [PKG[@VERSION]] [-o DIR] [--release-tag TAG] [--run-id ID] [--all-platforms] [--repo ORG/REPO]

uvr workflow init

uvr workflow init [--force | --upgrade | --base-only] [--editor EDITOR] [--workflow-dir DIR]

uvr workflow validate

uvr workflow validate [--workflow-dir DIR] [--diff]

uvr workflow runners

uvr workflow runners [PKG] [--add RUNNER [...] | --remove RUNNER [...] | --clear]

uvr workflow config

uvr workflow config [--editor EDITOR] [--latest PKG]
                    [--include PKG [...] | --exclude PKG [...] | --clear] [--remove PKG [...]]

Without arguments, shows the current workspace config.

uvr workflow publish

uvr workflow publish [--index NAME] [--environment ENV] [--trusted-publishing {automatic|always|never}]
                     [--include PKG [...] | --exclude PKG [...] | --clear] [--remove PKG [...]]

uvr skill init

uvr skill init [--force | --upgrade | --base-only] [--editor EDITOR]

uvr clean

uvr clean

Configuration keys

toml
[tool.uvr.config]
include = ["pkg-alpha"]              # package allowlist
exclude = ["pkg-internal"]           # package denylist
latest = "pkg-alpha"                 # GitHub "Latest" badge
editor = "code"                      # editor for conflict resolution

[tool.uvr.runners]
pkg-alpha = [["ubuntu-latest"], ["macos-latest"]]

[[tool.uv.index]]
name = "pypi"                        # required for publishing
url = "https://pypi.org/simple/"
publish-url = "https://upload.pypi.org/legacy/"

[tool.uvr.publish]
index = "pypi"                       # must match a [[tool.uv.index]] name
environment = "pypi-publish"         # GitHub Actions environment
trusted-publishing = "automatic"     # "automatic", "always", or "never"
include = ["pkg-alpha"]              # only publish these
exclude = ["pkg-debug"]              # skip these

[tool.uvr.hooks]
file = "uvr_hooks.py"                # hook file (default class Hook)

CI pipeline jobs

JobWhat it does
uvr-validateValidates the release plan JSON. Cannot be skipped.
uvr-buildDownloads unchanged deps, builds changed packages in topological layers.
uvr-releaseCreates git tags and GitHub releases with wheel assets.
uvr-publishRuns uv publish for each publishable package.
uvr-bumpBumps to next .dev0, pins deps, creates baseline tags, commits, pushes.