Skip to main content

Install or update pip dependency and save it to requirements.txt

Project description

pipup - Better requirements.txt management

So why pipup you ask? It's a silly small utility, but it solves some real issues I have on a daily basis. The 3 most common things I need to do with pip are:

  1. See if a package is installed and, if so, which version is installed
  2. Install a package and then save the installed version info to requirements.txt
  3. Upgrade a package and change the entry in requirements.txt

Sadly, pip doesn't help us here so this is why I've created pipup. Running just pipup <package name> or pipup -U <package name> just does what I want. No more forgetting to include or update a requirements.txt entry for me!

Installation

pipup is installed via pip:

pip install pipup

Usage

Using pipup is easy:

$ pipup Django

If Django is already installed, pipup will display the current version for you like this:

$ pipup Django
Looking for 'Django'
Already installed:
Django==1.9.7
No changes to save, skipping save.

If Django isn't installed, pipup will install it and save the pinned version of the package to the requirements.txt in your current directory:

$ pipup Django
Looking for 'Django'
Installing 'Django'...
Django==1.9.7
Changes saved to /Users/frank/work/src/pipup/requirements.txt

If we have an older version of Django installed, say Django==1.8.4 we can use the --upgrade or -U option to upgrade Django and update our requirements:

$ pipup -U Django
Looking for 'Django'
Already installed:
Django==1.8.4
Upgrading:
Django==1.9.7
Changes saved to /Users/frank/work/src/pipup/requirements.txt

Detailed options

`--upgrade` or `-U` install or upgrade the requested package(s)
`--skip` or `-s` install or upgrade, but don't save the changes into your requirements file
`--requirements` or `-r` path to the requirements file you wish to update

NOTE: Originally we tried to be smart and walk your file system backwards until we found a requirements.txt, but this can easily write the pip changes to a random requirements.txt on your system if you use a certain, fairly common, directory structure for your Python projects. To avoid this confusion, we're going to be explicit and require that you run pipup from the top of a project or specify the requirements path directly yourself.

Need help?

REVSYS can help with your Python, Django, and infrastructure projects. If you have a question about this project, please open a GitHub issue. If you love us and want to keep track of our goings-on, here's where you can find us online:

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 pipup, version 0.3.1
Filename, size File type Python version Upload date Hashes
Filename, size pipup-0.3.1-py2.py3-none-any.whl (7.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pipup-0.3.1.tar.gz (5.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page