An easy tool for upgrading all of your packages while not breaking dependencies
Project description
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.
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 pip_upgrade_tool-1.1.0.tar.gz.
File metadata
- Download URL: pip_upgrade_tool-1.1.0.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5aa8f89d70ba3af6c699b205e9e3667a299f7d43ea4f9acb64af0585d6f836cc
|
|
| MD5 |
97290655ff7013968deb6b7480434da3
|
|
| BLAKE2b-256 |
c79218c70ab14d0d335fdd5df39259d30c205e74ecfaac0c664159b09da81937
|
Provenance
The following attestation bundles were made for pip_upgrade_tool-1.1.0.tar.gz:
Publisher:
python-publish.yml on realiti4/pip-upgrade
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pip_upgrade_tool-1.1.0.tar.gz -
Subject digest:
5aa8f89d70ba3af6c699b205e9e3667a299f7d43ea4f9acb64af0585d6f836cc - Sigstore transparency entry: 833765941
- Sigstore integration time:
-
Permalink:
realiti4/pip-upgrade@fbccb7c2878b1746f9d7e577527f728eb9cc8a5c -
Branch / Tag:
refs/tags/v1.1.0 - Owner: https://github.com/realiti4
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@fbccb7c2878b1746f9d7e577527f728eb9cc8a5c -
Trigger Event:
release
-
Statement type:
File details
Details for the file pip_upgrade_tool-1.1.0-py3-none-any.whl.
File metadata
- Download URL: pip_upgrade_tool-1.1.0-py3-none-any.whl
- Upload date:
- Size: 19.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b1b39e20bca94e79149afb6a42ec49db1892d0a606c83ec3e0ab6bc3de4f4e4
|
|
| MD5 |
de0c3f6ca0b370eb107ad3bd13083942
|
|
| BLAKE2b-256 |
36e3ededb15e206d3f49280bb0be5d15b5cd7833d7ed7adf8295249ee15be894
|
Provenance
The following attestation bundles were made for pip_upgrade_tool-1.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on realiti4/pip-upgrade
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pip_upgrade_tool-1.1.0-py3-none-any.whl -
Subject digest:
2b1b39e20bca94e79149afb6a42ec49db1892d0a606c83ec3e0ab6bc3de4f4e4 - Sigstore transparency entry: 833765951
- Sigstore integration time:
-
Permalink:
realiti4/pip-upgrade@fbccb7c2878b1746f9d7e577527f728eb9cc8a5c -
Branch / Tag:
refs/tags/v1.1.0 - Owner: https://github.com/realiti4
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@fbccb7c2878b1746f9d7e577527f728eb9cc8a5c -
Trigger Event:
release
-
Statement type: