Skip to main content

A tool to upgrade dependencies to the latest versions

Project description

logo

pip-check-updates

pytest coding_style all-contributors PyPI - License PyPI - Python Version PyPI - Wheel Downloads GitHub Pages

A tool to upgrade dependencies to the latest versions, inspired by npm-check-updates

Install

From PyPi

pip install pip-check-updates

From GitHub

pip install git+https://github.com/zehengl/pip-check-updates.git

Usage

Depends on where you install pip-check-updates, if Python's scripts folder is not in path, the pcu entry point would not be available. However you can replace pcu with python -m pip-check-updates.

Show any new dependencies for the project in the current directory:

Changes are color coded

  • Red = major upgrade
  • Cyan = minor upgrade
  • Green = patch upgrade
pcu
Checking dependencies
100%|████████████████████| 6/6 [00:01<00:00,  5.75it/s]

In requirements.txt

Django  3.1.13  →  3.2.6
pandas  0.25.3  →  1.3.2
tqdm    4.62.0  →  4.62.1

Run pcu requirements.txt -u to upgrade versions in 1 file

Upgrade a project's requirements file:

pcu -u
Upgrading dependencies
100%|████████████████████| 6/6 [00:01<00:00,  5.84it/s]

In requirements.txt

Django  3.1.13  →  3.2.6
pandas  0.25.3  →  1.3.2
tqdm    4.62.0  →  4.62.1

Run pip install -r requirements.txt to install new versions

Specify requirements file if needed, -r option will be recognized as well:

pcu requirements-dev.txt
Checking dependencies
100%|████████████████████| 10/10 [00:01<00:00,  6.05it/s]

In requirements.txt

Django  3.1.13  →  3.2.6
pandas  0.25.3  →  1.3.2
tqdm    4.62.0  →  4.62.1

In requirements-dev.txt

black   21.6b0  →  21.7b0
pylint  2.9.3   →  2.9.6
pytest  5.4.3   →  6.2.4

Run pcu requirements-dev.txt -u to upgrade versions in 2 files

Target version:

pcu requirements-dev.txt -t patch
Checking dependencies
100%|████████████████████| 10/10 [00:02<00:00,  4.73it/s]

In requirements.txt

tqdm  4.62.0  →  4.62.1

In requirements-dev.txt

pylint  2.9.3  →  2.9.6

Run pcu requirements-dev.txt -u to upgrade versions in 2 files

Filter by a pattern:

pcu requirements-dev.txt -f "py*"
Checking dependencies
100%|████████████████████| 10/10 [00:01<00:00,  6.01it/s]

In requirements-dev.txt

pylint  2.9.3  →  2.9.6
pytest  5.4.3  →  6.2.4

Run pcu requirements-dev.txt -u to upgrade versions in 1 file

Work with conda-forge (WIP):

pcu environment.yml -u

Work with Pipenv (WIP):

pcu Pipfile

Include unstable versions:

pcu --pre
Checking dependencies
100%|████████████████████| 6/6 [00:01<00:00,  5.75it/s]

In requirements.txt

Django  3.1.13  →  3.2.6.dev
pandas  0.25.3  →  1.3.2.32.dev
tqdm    4.62.0  →  4.62.1.2.dev

Run pcu requirements.txt -u to upgrade versions in 1 file

Show the helper text:

pcu -h
usage: pcu [-h] [-u] [-f FILTER [FILTER ...]] [-t {latest,newest,greatest,major,minor,patch}] [-x] [-i] [--no_ssl_verify] [--no_recursive] [--ignore_warning] [--show_full_path]
           [--no_color] [--ignore_additional_labels] [--init] [--extra EXTRA] [--pre] [--fail_on_update] [--loggable] [-v]
           [path]

pip-check-updates: A tool to upgrade dependencies to the latest versions, inspired by npm-check-updates.

positional arguments:
path                  specify path to a requirements file

optional arguments:
  -h, --help            show this help message and exit
  -u, --upgrade         overwrite package file with upgraded versions instead of just outputting to console.
  -f FILTER [FILTER ...], --filter FILTER [FILTER ...]
                          include only package names matching the given strings.
  -t {latest,newest,greatest,major,minor,patch}, --target {latest,newest,greatest,major,minor,patch}
                          target version to upgrade to: latest, newest, greatest, major, minor, patch.
  -x, --txt             output new requirements file instead of human-readable message.
  -i, --interactive     enable interactive prompts for each dependency.
  --no_ssl_verify       disable SSL verification.
  --no_recursive        disable recursive checking.
  --ignore_warning      ignore warning.
  --show_full_path      show full path.
  --no_color            disable color.
  --ignore_additional_labels
                        ignore additional labels.
  --init                initialize pcufile.toml.
  --extra EXTRA         extras to consider when parsing TOML files. Not used with Pipfile.
  --pre                 include unstable versions when checking for updates.
  --fail_on_update      exit with code 1 if updates are available.
  --loggable            to be logging friendly.
  -v, --version         show pip-check-updates version

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Pedro Américo
Pedro Américo

🐛 💻
Anders Hovmöller
Anders Hovmöller

🐛
Jani Tiainen
Jani Tiainen

🐛
Daniel A.A. Pelsmaeker
Daniel A.A. Pelsmaeker

🐛
Nikolai Røed Kristiansen
Nikolai Røed Kristiansen

🤔 💻
Giovanni Santini
Giovanni Santini

🤔 💻
Pelayo García
Pelayo García

💻 🤔
Radu Suciu
Radu Suciu

🐛 💻
atchisson
atchisson

🤔 💻
purificant
purificant

💻
Pulse-Mind
Pulse-Mind

🤔
Hao Zhang(张浩)
Hao Zhang(张浩)

🤔

This project follows the all-contributors specification. Contributions of any kind welcome!

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_check_updates-0.28.0.tar.gz (51.5 kB view details)

Uploaded Source

Built Distribution

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

pip_check_updates-0.28.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file pip_check_updates-0.28.0.tar.gz.

File metadata

  • Download URL: pip_check_updates-0.28.0.tar.gz
  • Upload date:
  • Size: 51.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pip_check_updates-0.28.0.tar.gz
Algorithm Hash digest
SHA256 eed1fb10de57239aa0332056d4df44ee737b15098abbd00f43a2d0916fca12c5
MD5 fcb22e800e750b53c0a67343bd0d1d73
BLAKE2b-256 859916d9e087ab354f0b35e959634efc50c0dbcb603e8e1d3e3af171fe2e0faa

See more details on using hashes here.

File details

Details for the file pip_check_updates-0.28.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pip_check_updates-0.28.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76e9c12a58ec51043a8af859b0a3863cb8bcacb6afdbf8eb0452f27e23fbda75
MD5 cf5ebb22076e068bf04808c46548adca
BLAKE2b-256 edfb411be01101eb25d5564abbc7c133e837c69141c9d3ba0aaad765e1d4bf3f

See more details on using hashes here.

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