pip-update-requirements
Update the packages in a requirements.txt file.
Installation
pip install pur
Usage
Give pur your requirements.txt file and it updates all your packages to
the latest versions.
For example, given a requirements.txt file:
flask==0.9
sqlalchemy==0.9.10
alembic==0.8.4
Running pur on that file updates the packages to current latest versions:
$ pur -r requirements.txt
Updated flask: 0.9 -> 1.0.2
Updated sqlalchemy: 0.9.10 -> 1.2.8
Updated alembic: 0.8.4 -> 0.9.9
All requirements up-to-date.
Pur never modifies your environment or installed packages, it only modifies
your requirements.txt file.
You can also use Pur directly from Python:
$ python
Python 3.6.1
>>> from pur import update_requirements
>>> print([x[0]['message'] for x in update_requirements(input_file='requirements.txt').values()])
['Updated flask: 0.9 -> 1.0.2', 'Updated sqlalchemy: 0.9.10 -> 1.2.8', 'Updated alembic: 0.8.4 -> 0.9.9']
>>> print(open('requirements.txt').read())
flask==1.0.2
sqlalchemy==1.2.8
alembic==0.9.9
Options
-r, --requirement PATH The requirements.txt file to update; Defaults to
using requirements.txt from the current directory
if it exist.
-o, --output PATH Output updated packages to this file; Defaults to
overwriting the input requirements.txt file.
--interactive Interactively prompts before updating each package.
-f, --force Force updating packages even when a package has no
version specified in the input requirements.txt
file.
-d, --dry-run Output changes to STDOUT instead of overwriting the
requirements.txt file.
--dry-run-changed Enable dry run and only output packages with
updates, not packages that are already the latest.
-n, --no-recursive Prevents updating nested requirements files.
--skip TEXT Comma separated list of packages to skip updating.
--skip-gt Skip updating packages using > or >= spec, to allow
specifying minimum supported versions of packages.
--index-url TEXT Base URL of the Python Package Index. Can be
provided multiple times for extra index urls.
--cert PATH Path to PEM-encoded CA certificate bundle. If
provided, overrides the default.
--no-ssl-verify Disable verifying the server's TLS certificate.
--only TEXT Comma separated list of packages. Only these
packages will be updated.
--minor TEXT Comma separated list of packages to only update
minor versions, never major. Use "*" to limit every
package to minor version updates.
--patch TEXT Comma separated list of packages to only update
patch versions, never major or minor. Use "*" to
limit every package to patch version updates.
--pre TEXT Comma separated list of packages to allow updating
to pre-release versions. Use "*" to allow all
packages to be updated to pre-release versions. By
default packages are only updated to stable
versions.
--cooldown-days INTEGER Minimum number of days since release before a new
version is considered for updating. Versions
released more recently than this threshold are
ignored, helping avoid recently published versions
that may contain critical bugs.
-z, --nonzero-exit-code Exit with status 1 when some packages were updated,
0 when no packages updated, or a number greater
than 1 when there was an error. By default, exit
status 0 is used unless there was an error
irregardless of whether packages were or not
updated.
--version Show the version and exit.
--help Show this message and exit.
Contributing
Before contributing a pull request, make sure tests pass:
virtualenv venv
. venv/bin/activate
pip install tox
tox
Many thanks to all contributors!
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pur-7.4.0.tar.gz
(1.5 MB
view details)
File details
Details for the file pur-7.4.0.tar.gz.
File metadata
- Download URL: pur-7.4.0.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8bf2ae9a5be10b152cb5e7107000467a95f64435ba30d0e9a6f3c31a3af8568
|
|
| MD5 |
d4fcbed8cce59674963cf89dbb92d1eb
|
|
| BLAKE2b-256 |
1cccd32e3ece45c42163a3fb8381df5711823bf7a75a89e08f31274d9247116f
|