Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/welbornprod/requirementz
Check pip requirements against installed versions, and other related tools.
https://github.com/welbornprod/requirementz
library pip python python3 requirements requirements-management
Last synced: about 4 hours ago
JSON representation
Check pip requirements against installed versions, and other related tools.
- Host: GitHub
- URL: https://github.com/welbornprod/requirementz
- Owner: welbornprod
- License: mit
- Created: 2017-03-06T04:40:30.000Z (over 7 years ago)
- Default Branch: dev
- Last Pushed: 2020-03-18T00:51:05.000Z (over 4 years ago)
- Last Synced: 2024-11-11T06:41:18.640Z (6 days ago)
- Topics: library, pip, python, python3, requirements, requirements-management
- Language: Python
- Homepage: https://pypi.python.org/pypi/Requirementz
- Size: 157 KB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.txt
- License: LICENSE.txt
Awesome Lists containing this project
README
# Requirementz
* Checks `requirements.txt` against installed packages, or latest versions available on PyPi.
* Shows latest package information from PyPi (for `requirements.txt` or any package).
* Searches `requirements.txt` for text/regex patterns.
* Sorts `requirements.txt` lines in place.
* Finds duplicate entries in `requirements.txt`.
## Installation
This tool is installable with `pip`:
```bash
pip install requirementz
```The command is called `requirementz`.
## Dependencies
Requirementz has several python dependencies, all installable with `pip`.
A `requirements.txt` is provided, for easy installation.* [colr](https://github.com/welbornprod/colr) - Terminal colors.
* [docopt](https://github.com/docopt/docopt) - Argument parsing.
* [formatblock](https://github.com/welbornprod/fmtblock) - Text wrapping (like `textwrap`).
* [printdebug](https://github.com/welbornprod/printdebug) - Easily disabled debug printing.
* [requirements-parser](https://github.com/davidfischer/requirements-parser) - Parses `requirements.txt`.If you've cloned the repo, you can run `pip install -r requirements.txt` to install all of them. Otherwise, `pip install requirementz`
should install all dependencies for you.## Usage
```
Usage:
requirementz (-h | -v) [-D] [-n]
requirementz [-c | -C] [-e] [-L | -r] [-f file] [-D] [-n]
requirementz [-a line... | -d] [-f file] [-D] [-n]
requirementz -l [-L | -r] [-f file] [-D] [-n]
requirementz (-P | -S) [-f file] [-D] [-n]
requirementz -p [-L] [-D] [-n]
requirementz -s pat [-i] [-f file] [-D] [-n]
requirementz PACKAGE... [-D] [-n]Options:
PACKAGE : Show pypi info for package names.
-a line,--add line : Add a requirement line to the file.
The -a flag can be used multiple times.
-C,--checklatest : Check installed packages and latest versions
from PyPi against requirements.
-c,--check : Check installed packages against requirements.
-D,--debug : Print some debug info while running.
-d,--duplicates : List any duplicate entries.
-e,--errors : Only show packages with errors when checking.
-f file,--file file : Requirements file to parse.
Default: ./requirements.txt
-h,--help : Show this help message.
-i,--ignorecase : Case insensitive when searching.
-L,--location : When listing, sort by location instead of name.
When checking, show the package location.
-l,--list : List all requirements.
-n,--nocolor : Force plain text, with no color codes.
-P,--pypi : Show pypi info for all packages in
requirements.txt.
-p,--packages : List all installed packages.
-r,--requirement : Print name and version requirement only for -c.
Useful for use with -e, to get a list of
packages to install or upgrade.
-S,--sort : Sort the requirements file by package name.
-s pat,--search pat : Search requirements for text/regex pattern.
-v,--version : Show version.```
## Examples
### Check (installed packages)
Check `requirements.txt` against installed package versions.
```bash
requirementz
```Here you can see that the `colr >= 0.7.6` requirement was not satisfied, because `0.7.5` is installed:
![Output](http://imgur.com/nbzLv7X.png)
Show package location while checking:
```bash
requirementz -L
```![Output](http://imgur.com/szaquw9.png)
### Check (latest pypi version)
Check `requirements.txt` against installed package versions, and the latest
pypi version.
```bash
requirementz -C
```![Output](http://imgur.com/FEiyEgU.png)
Show package location while checking:
```bash
requirementz -C -L
```![Output](http://imgur.com/h7TgJ0u.png)
### Show pypi info for packages.
`-P` will show pypi information for all packages in `requirements.txt`:
```bash
requirementz -P
```![Output](http://imgur.com/nxjGyK7.png)
You can do this for any package, whether it's installed or not:
```bash
requirementz antigravity
```![Output](http://imgur.com/hFXbf8C.png)
You can use more than one package name.
### Find duplicate requirements
Any duplicate entries will be listed by name, with a count of duplicates.
```bash
requirementz -d
```## Notes
This hasn't been tested very well with CVS or local requirements. Any help in
that area would be appreciated, as I haven't had to use those requirement types.## Contributions
File an issue or create a pull request. Contributions are welcome.
https://github.com/welbornprod/requirementz