Python uvx¶
uv’s tool manager for isolated Python applications, like pipx.
mpm drives the uv tool subcommands; each application lives in its own
venv. Installed and outdated tools are parsed from the plain-text
tool list and tool list --outdated output: unlike the uv pip
interface, uv tool emits no JSON. The --outdated listing sets the
>=0.10.10 version floor, the first uv release to ship it. The
release-age cooldown rides on uv’s --exclude-newer resolver option,
covering install, upgrade and outdated through one cutoff.
Hint
Package specs are passed unquoted, working around uv parse failures on quoted specs.
Home page: https://docs.astral.sh/uv/guides/tools/
Version requirement:
>=0.10.10
Platforms¶
🅱️ BSD
🐧 Linux
🍎 macOS
⨂ Unix
🪟 Windows
Operations¶
Operation |
Supported |
|---|---|
|
✓ |
|
✓ |
|
|
|
✓ |
|
✓ |
|
✓ |
|
✓ |
|
|
|
Ecosystem¶
Accepted purl types:
pkg:uvxMaps to
uventries in Brewfile backups
Usage¶
$ mpm --uvx installed
$ mpm --uvx upgrade --all
$ mpm install pkg:uvx/hello
$ mpm --dry-run --uvx upgrade --all
Every example above accepts --dry-run, which simulates the underlying manager calls without touching the system: the safe way to watch what mpm would do before trusting it.
Deselect the manager for a single run with --no-uvx, disable it from your configuration, or tune its invocation attributes with per-manager overrides.
Command line¶
CLI names, in lookup order:
uvArguments forced before each call:
--color never --no-progress
The version is extracted from the output of uv --version with:
r"uv\s+(?P<version>\S+)"
Privilege escalation¶
mpm runs this manager as the current user and never prepends sudo by default. Flip the policy for its privileged operations with --sudo or the per-manager sudo override.
See privilege escalation for the full policy.
Cooldown¶
mpm natively enforces its release-age cooldown on Python uvx, injecting the UV_EXCLUDE_NEWER environment variable on every call.
Status: ✅ Enforced
Mechanism:
exclude-newerenvUV_EXCLUDE_NEWERReference: uv docs
Reference traces¶
Raw native outputs captured in the manager source: the reference mpm’s parsers were written against. If you know Python uvx well and a transcript below looks wrong, or a newer release changed its output format, report it.
$ uv --color never --no-progress tool list
pycowsay v0.0.0.1
- pycowsay
$ uv --color never --no-progress tool list --outdated
pycowsay v0.0.0.1 [latest: 0.0.0.2]
- pycowsay