pip-upgrader
An interactive pip requirements upgrader. It also updates the version in your requirements.txt file.
What it is and what it does
pip-upgrader is a command-line tool that automates the tedious process of upgrading Python package versions across multiple dependency file formats. It works with requirements.txt, pyproject.toml (PEP 621 and Poetry), and Pipfile, allowing you to upgrade packages interactively or in batch mode, and crucially, it updates the pinned versions directly in your source files rather than just installing newer packages.
The tool queries PyPI to find available versions and lets you choose which packages to upgrade, with options to skip specific packages, limit upgrades to minor or patch versions only, include prerelease versions, and run in fully non-interactive mode for CI pipelines. It auto-detects requirements files in the current directory if none are specified, and respects Python version compatibility when filtering available upgrades.
Use it for:
- Regularly audit and upgrade dependencies in a project while keeping major versions pinned to avoid breaking changes.
- Automate dependency updates in CI/CD pipelines using --non-interactive mode with selective --skip rules.
- Upgrade Poetry or Pipenv projects without manually editing pyproject.toml or Pipfile syntax.
- Perform a dry-run audit of available upgrades across multiple requirements files before committing changes.
- Selectively upgrade only patch versions in production projects to minimize risk of incompatibilities.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
An interactive CLI tool that upgrades Python package versions in requirements.txt, pyproject.toml, Poetry, and Pipenv files, updating pinned versions in place.
Yes. Active maintenance, no known vulnerabilities, low install friction, and solves a genuine pain point in dependency management. The tool is well-suited for both interactive local development and automated CI workflows. Install as a system tool via uv to keep it out of project dependencies.
Install
pip-upgrader on PyPI
pip
pip install pip-upgraderuv
uv add pip-upgraderpoetry
poetry add pip-upgraderInstalling pip-upgrader
Before you install
Low friction install with 5 runtime dependencies. Actively maintained (released 4 days ago, last commit 2026-08-10), supports Python 3.10 through 3.14. Can be installed as a tool via uv to avoid polluting project dependencies.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install pip-upgrader
pip-upgrade requirements.txt
# or for interactive selection:
pip-upgrade requirements.txt -p django -p celery
# or non-interactive:
pip-upgrade requirements.txt --non-interactive
Requires Python 3.10 or later.
Verify before relying
- Whether the tool handles all edge cases in version constraint syntax (e.g., complex version specifiers beyond ==, >=, ~=)
- Performance characteristics when upgrading large dependency trees with many packages
- How the tool handles transitive dependency conflicts during upgrades
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — docopt-ng, packaging, questionary, requests, tomli |
| Maintenance | actively maintained — 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 104,065/month — #12,772 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pip_upgrader-2.4.13-py3-none-any.whl
Keywords: cli, pip, pypi, requirements, upgrade
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pipupgradeA command-line tool that upgrades pip packages…
permissive · top 5,000 on PyPI
valeVale is a command-line tool for enforcing…
permissive · top 15,000 on PyPI
bumpAutomatically increments version numbers in…
permissive · top 15,000 on PyPI
requirementslibParses, builds, and converts between Pipfile…
permissive · top 15,000 on PyPI
poetryPoetry is a dependency management and packaging…
permissive · top 1,000 on PyPI
pipfileProvides a design specification and parser for…
permissive · top 15,000 on PyPI
migrate-to-uvAutomates migration of Python projects from…
permissive · top 15,000 on PyPI
pip-toolspip-tools provides command-line tools to…
permissive · top 5,000 on PyPI
launchableLaunchable CLI is a command-line tool that…
permissive · top 15,000 on PyPI
pipenvPipenv automates Python virtual environment…
permissive · top 1,000 on PyPI