Skip to main content

uv-outdated

Show outdated packages in your uv projects with better formatting and dependency context.

While uv pip list --outdated shows which packages have newer versions available, uv-outdated adds useful context like dependency relationships, constraint information, and organizes output by dependency groups.

Usage

Run in any directory with a uv.lock file:

uvx uv-outdated [OPTIONS]

Options

  • --show-headers/--no-headers: Include table headers (default: no headers)
  • --why/--no-why: Show constraint and dependents columns (default: show)
  • --direct/--all: Only show direct dependencies (default: all)
  • --transitive/--all: Only show transitive dependencies (default: all)
  • --group-by-ancestor: Group transitive dependencies under their direct ancestors

Example Output

Package         Current  Latest   Constraint  Dependents      Description
requests        2.28.0   2.31.0   >=2.25.0    mypy, pytest   HTTP library for Python
urllib3         1.26.0   2.0.7    <2.0.0      requests        HTTP library with thread-safe connection pooling

[group:dev]
pytest          7.0.0    8.0.0    ^7.0.0      pytest-cov     Simple and scalable testing
pytest-cov      4.0.0    5.0.0                               Coverage plugin for pytest

What it shows you

Dependency groups: Packages are organized by their groups from pyproject.toml (main dependencies, optional dependencies, development groups).

Why packages can't upgrade:

  • Yellow versions indicate the package is constrained by version specifiers
  • Red versions show packages that can be freely upgraded
  • The Constraint column shows the limiting specifier

Dependency relationships: The Dependents column shows which other packages require each outdated package.

Hierarchical view: With --group-by-ancestor, transitive dependencies are grouped under their direct dependency parents.

How it works

The tool combines information from:

  • uv.lock for exact versions and dependency relationships
  • pyproject.toml for dependency groups and constraints
  • uv pip list --outdated for available updates
  • Site-packages metadata for descriptions (when available)

It works even when your virtual environment isn't activated or available.

Requirements

  • Python 3.12+
  • A project with uv.lock
  • Optional: pyproject.toml for dependency group information

Why this exists

uv pip list --outdated gives you the basics, but when you're managing a project with many dependencies across different groups, it helps to see:

  • Which outdated packages are your direct dependencies vs. transitive
  • Why certain packages can't be upgraded (version constraints)
  • How dependencies relate to each other
  • Packages organized by their purpose (dev, test, optional features, etc.)

This is particularly useful for larger projects where understanding the dependency tree matters for upgrade decisions.

Metadata

Release files for uv-outdated 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uv-outdated 1.0.4
File Size Uploaded Provenance Actions
uv_outdated-1.0.4.tar.gz 19.2 kB Without provenance Details for uv_outdated-1.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for uv-outdated 1.0.4
File Interpreter ABI Platform Actions
uv_outdated-1.0.4-py3-none-any.whl Python 3 none any Details for uv_outdated-1.0.4-py3-none-any.whl

Total release size: 32.1 kB

Release files / uv_outdated-1.0.4.tar.gz

Download URL uv_outdated-1.0.4.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
126745028823d8d452a82faaf53ea1d4ab5cdea7bba3159fc2ce7e5d0443146c
BLAKE2b-256 checksum
How to use checksums
388478736b81c0e6ebefd3810b04a3bc6cb82bf7ea63474821b02d5cd9040439
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / uv_outdated-1.0.4-py3-none-any.whl

Download URL uv_outdated-1.0.4-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b664b62836dee5653b8a42212210b76edc195dba9105e9da230a7a5d22dc5ee
BLAKE2b-256 checksum
How to use checksums
4b5eac80d652ced66120f2d6254d827dbddd8322608911100eba7b8e214f992d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for uv-outdated 1.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page