Skip to main content

uuc — uv update check

pypi version pypi monthly downloads pypi license build status python versions coverage

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

  1. Finds and parses pyproject.toml using tomlkit (preserves formatting and comments)
  2. Extracts all dependencies from the sections above
  3. Fetches latest versions from the PyPI JSON API concurrently using httpx + anyio
  4. Compares versions using packaging with semver-aware classification
  5. Displays results in ncu-style output with Rich
  6. With -u, rewrites pyproject.toml in-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

Metadata

Release files for uv-update-check 0.3.0

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-update-check 0.3.0
File Size Uploaded Provenance
uv_update_check-0.3.0.tar.gz 28.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for uv-update-check 0.3.0
File Interpreter ABI Platform
uv_update_check-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 41.4 kB

Release files / uv_update_check-0.3.0.tar.gz

Download URL uv_update_check-0.3.0.tar.gz
Size 28.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1a6a4cd2cb2deee8b3bee6aa1e0bedb4ceafdedbb775c07a507680ed4a715e79
BLAKE2b-256 checksum
How to use checksums
94232885970f7e46aa5429bd6ca44fe87a230b7fb246841ff07548e7365089d7
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / uv_update_check-0.3.0-py3-none-any.whl

Download URL uv_update_check-0.3.0-py3-none-any.whl
Size 13.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ef992affe0e448a8605e9a1a433ca486bc2c93940e38a447c4b5d330e52ebbc8
BLAKE2b-256 checksum
How to use checksums
e5bad6b58f3d272e0995701758b496e37b5d45952c73b67d810d19293952f99e
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for uv-update-check 0.3.0

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.

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