Updatable help you to find packages that require updates on a python environment.
The latest release of updatable can be installed via PyPI:
pip install -U updatable
It can be installed globally or in virtual environment, depending on where you plan to check the dependencies.
If you have a requirements.txt
with pinned dependencies you can pass it as an argument to check against it.
The project supports Python 3.7
, 3.8
, 3.9
, 3.10
as well as pypy3.7
, pypy3.8
, pypy3.9
.
The package can be used as a command line tool, so you can get a list of all packages that require updates from your current environment. You may also use the package inside of your python application, to list the packages over a REST endpoint (see a sample implementation here), forward them by mail or other purpose.
$> updatable
Prints:
Django (2.1.13) Minor releases: -- 2.2.7 on 2019-11-04 08:33:19 -- 2.2.6 on 2019-10-01 08:36:44 -- 2.2.5 on 2019-09-02 07:18:39 -- 2.2.4 on 2019-08-01 09:04:37 -- 2.2.3 on 2019-07-01 07:19:23 -- 2.2.2 on 2019-06-03 10:11:10 -- 2.2.1 on 2019-05-01 06:57:39 -- 2.2 on 2019-04-01 12:47:35 Patch releases: -- 2.1.14 on 2019-11-04 08:33:13 ___ django-cors-headers (2.4.1) Major releases: -- 3.2.0 on 2019-11-15 10:28:47 -- 3.1.1 on 2019-09-30 20:51:53 -- 3.1.0 on 2019-08-13 08:12:02 -- 3.0.2 on 2019-05-28 20:43:54 -- 3.0.1 on 2019-05-13 13:00:40 -- 3.0.0 on 2019-05-10 10:53:00 Minor releases: -- 2.5.3 on 2019-04-28 19:03:35 -- 2.5.2 on 2019-03-15 16:42:57 -- 2.5.1 on 2019-03-13 13:03:04 -- 2.5.0 on 2019-03-05 11:41:22 Unknown releases: -- 0.01 on 2013-01-19 20:19:21 -- 0.02 on 2013-01-19 22:19:24 -- 0.03 on 2013-01-22 08:37:28 -- 0.04 on 2013-01-25 05:35:38 -- 0.05 on 2013-01-25 22:57:40 -- 0.06 on 2013-02-21 18:39:33 ___ Jinja2 (2.10.1) Patch releases: -- 2.10.3 on 2019-10-04 18:52:37 -- 2.10.2 on 2019-10-04 18:19:47 ___ Markdown (3.0.1) Minor releases: -- 3.1.1 on 2019-05-21 01:10:24 -- 3.1 on 2019-03-26 00:20:04 ___ pytz (2019.2) Minor releases: -- 2019.3 on 2019-10-07 03:18:16 ___ urllib3 (1.25.6) Patch releases: -- 1.25.7 on 2019-11-11 15:10:09 ___ Done in 8.47 sec.
The console program offers the following parameters:
-f <filename> --file <filename>
Optionally defines a requirements file to use.
If the parameter is not defined, the packages of the current Python environment will be used.
-pre <boolean> --pre-releases <boolean>
Includes pre-releases in the output, as separate category.
Default: false
Acceptable boolean values:
Positive: yes, true, t, y, 1 Negative: no, false, f, n, 0
$> updatable -f requirements.txt --pre-releases yes
Add pre-commit package:
pip install pre-commit
Install pre-commit hook:
pre-commit install