Skip to main content

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 -e Exclude packages you don't want to upgrade. Can take multiple or single value.
  • pip-upgrade -y Accept all upgrades and skip user prompt.
  • pip-upgrade --clean Clear pip's cache.
  • pip-upgrade --local By default locally installed editable packages (installed with pip install -e .) won't be upgraded. Use this option to upgrade everything.
  • pip-upgrade --novenv By 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-config Reset config file located in ~/.pipupgrade.ini to it's default.
  • pip-upgrade --respect-extras Respect 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pip_upgrade_tool-1.1.0.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pip_upgrade_tool-1.1.0-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

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

Hashes for pip_upgrade_tool-1.1.0.tar.gz
Algorithm Hash digest
SHA256 5aa8f89d70ba3af6c699b205e9e3667a299f7d43ea4f9acb64af0585d6f836cc
MD5 97290655ff7013968deb6b7480434da3
BLAKE2b-256 c79218c70ab14d0d335fdd5df39259d30c205e74ecfaac0c664159b09da81937

See more details on using hashes here.

Provenance

The following attestation bundles were made for pip_upgrade_tool-1.1.0.tar.gz:

Publisher: python-publish.yml on realiti4/pip-upgrade

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pip_upgrade_tool-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pip_upgrade_tool-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b1b39e20bca94e79149afb6a42ec49db1892d0a606c83ec3e0ab6bc3de4f4e4
MD5 de0c3f6ca0b370eb107ad3bd13083942
BLAKE2b-256 36e3ededb15e206d3f49280bb0be5d15b5cd7833d7ed7adf8295249ee15be894

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page