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.

Source Distribution

pipup-0.3.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

pipup-0.3.1-py2.py3-none-any.whl (7.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pipup-0.3.1.tar.gz.

File metadata

  • Download URL: pipup-0.3.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for pipup-0.3.1.tar.gz
Algorithm Hash digest
SHA256 280053fb5bdf5a03492b2f2751e19b469953250f674a4d00744949528724acd7
MD5 542b3e52ea9931bbe73dc39752e92297
BLAKE2b-256 45fe42115b8aeb06e181995e85651e23431021d228b43601da26622ae65cb315

See more details on using hashes here.

File details

Details for the file pipup-0.3.1-py2.py3-none-any.whl.

File metadata

  • Download URL: pipup-0.3.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using 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

File hashes

Hashes for pipup-0.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0a3160fcf7f12701ce0b13949c0d5fca4fc058a6ed145477ab970b64211c4348
MD5 ac6adc46ec57226e8c3523619ac53f66
BLAKE2b-256 2c73693c1430d40e91a614a05fae5525d818d939903930437306c9708c625b5c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page