Skip to main content
upgrade-requirements.py
=======================
[![Current version on PyPI](https://img.shields.io/pypi/v/upgrade-requirements.svg)](https://pypi.python.org/pypi/upgrade-requirements/)

Upgrade all your outdated `requirements.txt` in a single command.


Motivation
----------

Even though `pip list --outdated` exists, sometimes you just want to
run `pip install --upgrade` to upgrade a package, then persist it to
your `requirements.txt` in one big sweep.


Installation
------------

```bash
$ pip install upgrade-requirements
```


Usage
-----

```bash
$ upgrade-requirements
```

(Or use the shortcut command `upreq`.)

Now's a good time to grab a ☕ while it runs.

After it finishes, run your tests to make sure an individual upgrade didn't
break anything. Then move on to bigger things 🚀

#### Found a problem with an upgraded version?

No worries!

1. Revert individual entries in `requirements.txt` with the help of git
2. Run `pip install -r requirements.txt` to downgrade to working versions
3. Commit the upgraded-and-tweaked `requirements.txt` like normal and carry on 🎉

#### More usages
```bash
$ upgrade-requirements -h
```

```
usage: upgrade-requirements [-h] [-r REQUIREMENTS]

optional arguments:
-h, --help show this help message and exit
-r REQUIREMENTS, --requirements REQUIREMENTS
specify the location of the requirements.txt file
```


Room for improvement
--------------------

- This only work with pinned (`==`) packages at the moment. The intention is to
get it to work more generally. This can be broken down into three sub-tasks:

- Get it to ignore non-pinned requirements instead of fail
- Get it to work with other specifiers, e.g. `>=` (how would this work?)
- Handle all types of requirement entries

Feel free to open an issue or PR with ideas.

Metadata

Release files for upgrade-requirements 1.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for upgrade-requirements 1.7.0
File Size Uploaded
upgrade-requirements-1.7.0.tar.gz 3.6 kB Details

Release files / upgrade-requirements-1.7.0.tar.gz

Download URL upgrade-requirements-1.7.0.tar.gz
Size 3.6 kB
Tags Source
SHA-256 checksum
How to use checksums
380c18d7cb5e174e7ee4acdda3e6f04dde693dbafc7074f4fcb230bb2177db31
BLAKE2b-256 checksum
How to use checksums
8cb1dbe14e38298c26f62e9fffa6eaf00e56edb9070a7f0a732a6c48c24c5797
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.7.0 This release

1 release file

1.6.0

1 release file

1.5.0

1 release file

1.4.0

1 release file

1.3.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page