pip-check-updates
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 inpath
, thepcu
entry point would not be available. However you can replacepcu
withpython -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
tqdm 4.62.0 → 4.62.1
pandas 0.25.3 → 1.3.2
Django 3.1.13 → 3.2.6
Run pcu -u to upgrade requirements.txt
Upgrade a project's requirements file:
pcu -u
Upgrading dependencies
100%|████████████████████| 6/6 [00:01<00:00, 5.84it/s]
In requirements.txt
tqdm 4.62.0 → 4.62.1
pandas 0.25.3 → 1.3.2
Django 3.1.13 → 3.2.6
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
tqdm 4.62.0 → 4.62.1
pandas 0.25.3 → 1.3.2
Django 3.1.13 → 3.2.6
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 -u to upgrade requirements.txt and requirements-dev.txt
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 -u to upgrade requirements.txt and requirements-dev.txt
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 -u to upgrade requirements-dev.txt
Show the helper text:
pcu -h
usage: pcu [-h] [-u] [-f FILTER [FILTER ...]] [-t {latest,newest,greatest,minor,patch}] [-x] [-i] [--no_ssl_verify] [--no_recursive] [path]
pip-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,minor,patch}, --target {latest,newest,greatest,minor,patch}
target version to upgrade to: latest, newest, greatest, 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.
Test
python setup.py test
Credits
- Icon by PixelKit