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:
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pipup-0.3.1.tar.gz | 5.6 kB | Without provenance | Details for pipup-0.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pipup-0.3.1-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details for pipup-0.3.1-py2.py3-none-any.whl |
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
|
Security for pipup 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.