Skip to main content

Update packages in a requirements.txt file to latest versions.

Project description

Tests Coverage Version Supported Python Versions https://wakatime.com/badge/github/alanhamlett/pip-update-requirements.svg

pip-update-requirements

Update the packages in a requirements.txt file.

Purring Cat

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.

-n, --no-recursive

Prevents updating nested requirements files.

--skip TEXT

Comma separated list of packages to skip updating.

--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 TLS cert verification.

--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.

-z, --nonzero-exit-code

Exit with status 10 when all packages up-to-date, 11 when some packages were updated. Defaults to exit status zero on success and non-zero on failure.

--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!

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

pur-6.1.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

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

pur-6.1.0-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

File details

Details for the file pur-6.1.0.tar.gz.

File metadata

  • Download URL: pur-6.1.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.12

File hashes

Hashes for pur-6.1.0.tar.gz
Algorithm Hash digest
SHA256 43de304474a8e6743d9b7a314d3303826c78d2bb46dd951c98c8fae3da9617af
MD5 cd685e5b98b11a838ef7c90102b8e055
BLAKE2b-256 952cdcf6c077f0a2497669f68f21798cea0912c7180d250516ad4300b5ec9c4a

See more details on using hashes here.

File details

Details for the file pur-6.1.0-py3-none-any.whl.

File metadata

  • Download URL: pur-6.1.0-py3-none-any.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.12

File hashes

Hashes for pur-6.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50137469774e47ba47635963e9292d1311441623a6f9773fa8e4a28a1444c0a3
MD5 7fd0681ec54a7a99788551223a120701
BLAKE2b-256 b275a16c6fbf953c51d6519c590d7b022ebea45a1377adcd04a409b09db68806

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