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.

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.

TODO / known issues

  • Feature - Update directly from Gohlke's packages
  • Feature - Revert to previous point

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-0.7.4.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

pip_upgrade_tool-0.7.4-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file pip-upgrade-tool-0.7.4.tar.gz.

File metadata

  • Download URL: pip-upgrade-tool-0.7.4.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for pip-upgrade-tool-0.7.4.tar.gz
Algorithm Hash digest
SHA256 40b8ee2d66f9e222fffa594d2ad6b71e4f755e675a25166ad503ef358409ed65
MD5 c6b550440a5782a10e2adf8956f1943c
BLAKE2b-256 b398dce51116aa7f82c5b4fe0c2f25e173071c824deb23b87e3f7bc17984271a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pip_upgrade_tool-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9a9d049c0c0e615906c1ced181bbe05e1f7f011975cc690c3ff76474871be62c
MD5 063b119ae792c2d2661ab7c6556ed80b
BLAKE2b-256 dc95295ef3e1f8eddbdd0baa28fc9bb635a6f45339ccd7a96a79d04bcf72a06c

See more details on using hashes here.

Supported by

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