Skip to main content

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:

Metadata

Release files for pipup 0.3.1

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

Source distribution (sdist)

Source distribution for pipup 0.3.1
File Size Uploaded
pipup-0.3.1.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pipup 0.3.1
File Interpreter ABI Platform
pipup-0.3.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 13.3 kB

Release files / pipup-0.3.1.tar.gz

Download URL pipup-0.3.1.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
280053fb5bdf5a03492b2f2751e19b469953250f674a4d00744949528724acd7
BLAKE2b-256 checksum
How to use checksums
45fe42115b8aeb06e181995e85651e23431021d228b43601da26622ae65cb315
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

Release files / pipup-0.3.1-py2.py3-none-any.whl

Download URL pipup-0.3.1-py2.py3-none-any.whl
Size 7.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
0a3160fcf7f12701ce0b13949c0d5fca4fc058a6ed145477ab970b64211c4348
BLAKE2b-256 checksum
How to use checksums
2c73693c1430d40e91a614a05fae5525d818d939903930437306c9708c625b5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.0

1 release file

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