Show uv outdated packages in a nicer way
Project description
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.
Installation
pip install uv-outdated
Usage
Run in any directory with a uv.lock file:
uv-outdated
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.lockfor exact versions and dependency relationshipspyproject.tomlfor dependency groups and constraintsuv pip list --outdatedfor 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.tomlfor 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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uv_outdated-1.0.1.tar.gz.
File metadata
- Download URL: uv_outdated-1.0.1.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
313cf44456637e40065bcb43e883d887d8cf3805ef5d28e76ec43a0365db099b
|
|
| MD5 |
1eb4475fbe86794c62dc23d323fb091c
|
|
| BLAKE2b-256 |
532883c9fa39a79d51e5b6ea3f5dfe65e45d506cd16f4110fbd75a945f2ab4a7
|
File details
Details for the file uv_outdated-1.0.1-py3-none-any.whl.
File metadata
- Download URL: uv_outdated-1.0.1-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a11931a016a75a5365e4e2627d12e47976540077fe69d5aa1f61004a5a7ae5bf
|
|
| MD5 |
e52ba2819397a9d85a8355bebc36a8f8
|
|
| BLAKE2b-256 |
c843959f7818b21b6a353c4f9f7f537c564e0e468a6552e8a4160b8e34c326d5
|