🥬 Keep your Python deps fresh
Project description
taze 🥬
Keep your Python dependencies fresh.
Inspired by taze for Node.js — ported to the Python ecosystem with support for pyproject.toml and requirements.txt.
Features
- Checks all dependencies against PyPI in parallel
- Shows the bump level (patch / minor / MAJOR) with colors
- Displays release age for both the current and latest version
- Supports
pyproject.toml(PEP 508, PEP 735, uv) andrequirements*.txt - Writes updated version constraints back to the file (
-w) - Runs
uv syncafter writing (-i) - Interactive package selection (
-I) - Recursive monorepo scanning (
-r) - Pre-release support (
newest/nextmode) - Regex filtering for include / exclude
Installation
uv tool install taze
# or
pip install taze
Usage
taze [mode] [options]
Modes
| Mode | What it shows |
|---|---|
default |
All stable updates (default) |
major |
Same as default |
minor |
Minor and patch updates only |
patch |
Patch updates only |
latest |
All stable updates |
stable |
All stable updates |
newest |
All updates including pre-releases |
next |
Same as newest |
Examples
# Check everything in the current directory
taze
# Only show minor and patch updates
taze minor
# Write patch updates back to pyproject.toml
taze patch -w
# Write all updates and run uv sync
taze -w -i
# Interactive — pick which packages to update
taze -I
# Include pre-releases
taze newest
# Scan all subdirectories (monorepo)
taze -r
# Only check specific packages
taze -n requests,httpx
# Skip packages matching a pattern
taze -x /^pytest/
# Sort by largest update first
taze --sort diff-desc
# Machine-readable JSON output
taze --json
Options
-w, --write Write updates back to file
-i, --install Run uv sync after writing (implies -w)
-u, --update Alias for --install
-I, --interactive Choose which packages to update interactively
-r, --recursive Scan subdirectories for pyproject.toml / requirements*.txt
-a, --all Show up-to-date packages too
-n, --include <deps> Only check these packages (comma-separated or /regex/)
-x, --exclude <deps> Skip these packages (comma-separated or /regex/)
-C, --cwd <path> Working directory
-s, --silent No output
-v, --version Show version
--sort <type> Sort output: name-asc | name-desc | diff-asc | diff-desc
--fail-on-outdated Exit with code 1 if any outdated dependencies are found
--concurrency <n> Number of concurrent PyPI requests (default: 10)
Output
📦 pyproject.toml /home/user/myproject/pyproject.toml
dependencies 3 outdated
packaging ~8mo >=25.2 → >=26.2 ~3mo MAJOR
rich ~4mo >=14.0.0 → >=15.0.0 ~3d MAJOR
typer ~6mo >=0.25.7 → >=0.26.7 ~3d minor
group:dev 1 outdated
ruff ~8mo >=0.14.1 → >=0.15.19 ~1d minor
Run taze -w to write 4 update(s) to pyproject.toml
The age columns show how old the current pinned version is and how recently the latest version was released — green for < 4 weeks, yellow for < 6 months, red for older.
Supported file formats
| File | Section |
|---|---|
pyproject.toml |
[project] dependencies |
pyproject.toml |
[project.optional-dependencies.*] |
pyproject.toml |
[dependency-groups.*] (PEP 735) |
pyproject.toml |
[tool.uv.dev-dependencies] |
requirements*.txt |
Standard pip format |
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 taze-0.1.0.tar.gz.
File metadata
- Download URL: taze-0.1.0.tar.gz
- Upload date:
- Size: 19.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2aef456e266583463a12e901c12c97ece0455d9b0130cd7c60e492c1cf2519e9
|
|
| MD5 |
8b768cc4a39f6415fa85968dfd81ad43
|
|
| BLAKE2b-256 |
21546222cf0963bf65b3b7f2c4724b68ca8c811e10e41b1513a845a19190676d
|
Provenance
The following attestation bundles were made for taze-0.1.0.tar.gz:
Publisher:
publish.yml on keksiqc/taze
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
taze-0.1.0.tar.gz -
Subject digest:
2aef456e266583463a12e901c12c97ece0455d9b0130cd7c60e492c1cf2519e9 - Sigstore transparency entry: 1939394071
- Sigstore integration time:
-
Permalink:
keksiqc/taze@ed3f0cd45f446a388dfffbbb71fa43ebb637108c -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/keksiqc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ed3f0cd45f446a388dfffbbb71fa43ebb637108c -
Trigger Event:
release
-
Statement type:
File details
Details for the file taze-0.1.0-py3-none-any.whl.
File metadata
- Download URL: taze-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57068fab6e087dc6cd74c5073e6cb6a960fe8b2e124538b617fb95ccaee1aedc
|
|
| MD5 |
b96c9aa748f6f3a5628fa0f054825fb3
|
|
| BLAKE2b-256 |
fbe8c3accc40739aa2d319e9b322ff2bc18e332203764848351a240ba1dfb73c
|
Provenance
The following attestation bundles were made for taze-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on keksiqc/taze
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
taze-0.1.0-py3-none-any.whl -
Subject digest:
57068fab6e087dc6cd74c5073e6cb6a960fe8b2e124538b617fb95ccaee1aedc - Sigstore transparency entry: 1939394190
- Sigstore integration time:
-
Permalink:
keksiqc/taze@ed3f0cd45f446a388dfffbbb71fa43ebb637108c -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/keksiqc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ed3f0cd45f446a388dfffbbb71fa43ebb637108c -
Trigger Event:
release
-
Statement type: