Check for dependency updates in pyproject.toml, like ncu for uv projects
Project description
uuc — uv update check
A minimalist npm-check-updates equivalent for uv projects. Check your pyproject.toml dependencies against PyPI and see what's outdated — in the exact same output style as ncu.
$ uuc
Checking /path/to/pyproject.toml
[====================] 9/9 100%
httpx >=0.27 → >=0.28.1
rich >=13 → >=14.3.3
typer >=0.12 → >=0.24.1
pytest >=8 → >=9.0.2
pytest-asyncio >=0.24 → >=1.3.0
Run uuc -u to upgrade pyproject.toml
Updates are color-coded by severity: red for major, cyan for minor, green for patch — with partial version coloring just like ncu.
Install
uv tool install uv-update-check
Or run directly without installing:
uvx uv-update-check
Usage
# Show outdated dependencies (read-only, default)
uuc
# Update pyproject.toml with latest versions
uuc -u
# Only show minor/patch updates (no breaking changes)
uuc -t minor
# Only show patch updates
uuc -t patch
# Exclude specific packages
uuc -x httpx,rich
# Check a specific project
uuc --path /path/to/pyproject.toml
# Include pre-release versions
uuc --pre
# Combine flags
uuc -t minor -x httpx -u
Options
| Flag | Description |
|---|---|
-u, --update |
Rewrite pyproject.toml with new versions |
-t, --target |
Target version level: latest (default), minor, patch |
-x, --reject |
Exclude packages (comma-delimited) |
-p, --path |
Path to pyproject.toml (default: search from cwd) |
--pre |
Include pre-release versions |
-V, --version |
Show version |
What it checks
uuc discovers dependencies from all standard pyproject.toml sections:
[project.dependencies][project.optional-dependencies.*][dependency-groups.*](PEP 735)
It supports all common version specifiers: >=, ~=, ==, ^, >, <, !=.
What it skips
- URL, git, and path dependencies
- Dependencies with no version specifier
{include-group = "..."}entries in dependency groups
How it works
- Finds and parses
pyproject.tomlusing tomlkit (preserves formatting and comments) - Extracts all dependencies from the sections above
- Fetches latest versions from the PyPI JSON API concurrently using httpx + anyio
- Compares versions using packaging with semver-aware classification
- Displays results in ncu-style output with Rich
- With
-u, rewritespyproject.tomlin-place preserving all formatting, comments, and ordering
Differences from similar tools
| Tool | What it does | How uuc differs |
|---|---|---|
uv lock --upgrade |
Upgrades within existing constraints | uuc shows what's available beyond your constraints |
uv pip list --outdated |
Shows outdated installed packages | uuc checks pyproject.toml constraints, not installed versions |
pip-check-updates |
Similar concept | uuc is uv-native with dependency-groups support |
Requirements
- Python >= 3.14
License
MIT
Project details
Release history Release notifications | RSS feed
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_update_check-0.3.0.tar.gz.
File metadata
- Download URL: uv_update_check-0.3.0.tar.gz
- Upload date:
- Size: 28.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a6a4cd2cb2deee8b3bee6aa1e0bedb4ceafdedbb775c07a507680ed4a715e79
|
|
| MD5 |
b82f8de65c2723d92a07173fd32bb11a
|
|
| BLAKE2b-256 |
94232885970f7e46aa5429bd6ca44fe87a230b7fb246841ff07548e7365089d7
|
File details
Details for the file uv_update_check-0.3.0-py3-none-any.whl.
File metadata
- Download URL: uv_update_check-0.3.0-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef992affe0e448a8605e9a1a433ca486bc2c93940e38a447c4b5d330e52ebbc8
|
|
| MD5 |
212cf9d155f0762da672af93c20f54cf
|
|
| BLAKE2b-256 |
e5bad6b58f3d272e0995701758b496e37b5d45952c73b67d810d19293952f99e
|