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:
- See if a package is installed and, if so, which version is installed
- Install a package and then save the installed version info to requirements.txt
- 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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 280053fb5bdf5a03492b2f2751e19b469953250f674a4d00744949528724acd7 |
|
MD5 | 542b3e52ea9931bbe73dc39752e92297 |
|
BLAKE2b-256 | 45fe42115b8aeb06e181995e85651e23431021d228b43601da26622ae65cb315 |
Provenance
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a3160fcf7f12701ce0b13949c0d5fca4fc058a6ed145477ab970b64211c4348 |
|
MD5 | ac6adc46ec57226e8c3523619ac53f66 |
|
BLAKE2b-256 | 2c73693c1430d40e91a614a05fae5525d818d939903930437306c9708c625b5c |