Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/revsys/pipup
Better handling of Python pip's requirements.txt files
https://github.com/revsys/pipup
Last synced: 2 months ago
JSON representation
Better handling of Python pip's requirements.txt files
- Host: GitHub
- URL: https://github.com/revsys/pipup
- Owner: revsys
- License: bsd-3-clause
- Created: 2016-06-25T17:04:23.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-05-23T14:05:56.000Z (over 4 years ago)
- Last Synced: 2024-10-31T21:35:16.317Z (2 months ago)
- Language: Python
- Size: 22.5 KB
- Stars: 62
- Watchers: 9
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
- starred-awesome - pipup - Better handling of Python pip's requirements.txt files (Python)
README
# 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.txtSadly, pip doesn't help us here so this is why I've created pipup. Running just
`pipup ` or `pipup -U ` *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.txtIf 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](http://www.revsys.com?utm_medium=github&utm_source=pipup) 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: