pip-upgrade 🎉
The purpose of pip-upgrade is to be a simple yet robust and reliable tool for upgrading all of your packages while not breaking dependencies.
Installation
pip install pip-upgrade-tool
or
pip install git+https://github.com/realiti4/pip-upgrade.git@master --upgrade
Usage
Just run pip-upgrade in your terminal while virtualenv is active.
$ pip-upgrade
Checking outdated packages...
These packages will be upgraded: ['colorama', 'isort']
Continue? (y/n): y
...
All packages are up to date! 🎉
Tip: You can use -e to exclude some packages and continue in Continue? (y/n): after seeing which packages are going to be upgraded. This is super useful for packages like gohlke's Numpy+mkl for example. -r to repeat the previous excluded packages. It'll show if there is a saved repeatable action.
These packages will be upgraded: ['hypothesis', 'Pillow', 'pytest', 'setuptools']
(-r, --repeat : -e pytest)
Continue? (y/n or -e/-r/--help): -e pytest hypothesis
You can also exclude packages beforehand. Use -e or --exclude. The tool won't upgrade dependency breaking packages already, this is extra for packages that you want to keep it at a version. You can also add packages to config file for this to persist until you remove. This combined with pip-upgrade -y that accepts and skips user prompt can be used for automated environments.
$ pip-upgrade -e numpy pandas
Options
pip-upgrade -eExclude packages you don't want to upgrade. Can take multiple or single value.pip-upgrade -yAccept all upgrades and skip user prompt.pip-upgrade --cleanClear pip's cache.pip-upgrade --localBy default locally installed editable packages (installed withpip install -e .) won't be upgraded. Use this option to upgrade everything.pip-upgrade --novenvBy default the tool won't work if virtualenv is not active. Use this if you want use it globally and pass the assertion error.pip-upgrade --reset-configReset config file located in~/.pipupgrade.inito it's default.pip-upgrade --respect-extrasRespect version constraints from optional dependencies (extras). By default, extras are ignored since Python cannot track which extras are installed. Use this flag if you specifically installed packages with extras (e.g.,pip install package[extra]) and want to enforce those constraints.
Permanent Configuration
When pip-upgrade is run for the first time, it will create a file in the user's home directory named .pipupgrade.ini. This file can be manually edited by the user for permanent configuration options. The configuration file current consists of two options under the conf section, exclude and novenv. novenv is false by default, but if set to true, the pip-upgrade command will not require you to be in a virtualenv, which is the same function as the --novenv argument. The second option, exclude, will take the same values as the --exclude argument, but these excluded packages will persist forever until removed.
Contributing
Any contribution is appreciated, please feel free to send pull requests.
Metadata
Release files for pip-upgrade-tool 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pip_upgrade_tool-1.1.0.tar.gz | 18.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pip_upgrade_tool-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.0 kB
Release files / pip_upgrade_tool-1.1.0.tar.gz
| Download URL | pip_upgrade_tool-1.1.0.tar.gz |
|---|---|
| Size | 18.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5aa8f89d70ba3af6c699b205e9e3667a299f7d43ea4f9acb64af0585d6f836cc
|
|
BLAKE2b-256 checksum How to use checksums |
c79218c70ab14d0d335fdd5df39259d30c205e74ecfaac0c664159b09da81937
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 18, 2026.
Transparency logRelease files / pip_upgrade_tool-1.1.0-py3-none-any.whl
| Download URL | pip_upgrade_tool-1.1.0-py3-none-any.whl |
|---|---|
| Size | 19.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b1b39e20bca94e79149afb6a42ec49db1892d0a606c83ec3e0ab6bc3de4f4e4
|
|
BLAKE2b-256 checksum How to use checksums |
36e3ededb15e206d3f49280bb0be5d15b5cd7833d7ed7adf8295249ee15be894
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 18, 2026.
Transparency log