Skip to main content

Upgrade all your outdated requirements in a single command.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for upgrade-requirements, version 1.7.0
Filename, size File type Python version Upload date Hashes
Filename, size upgrade-requirements-1.7.0.tar.gz (3.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page