Skip to main content

How rotten are your requirements?

Project description

How rotten are your requirements?

tl;dr: piprot allows you to check the requirements defined in your requirements files for freshness.

Installation

piprot can be installed via PyPI

pip install -U piprot

Basic Usage

Run piprot and provide a requirements file (if it’s not called requirements.txt):

> piprot base_requirements.txt
requests (2.3.0) is up to date
six (1.6.1) is 107 days out of date. Latest is 1.7.3
piprot (0.6.0) is up to date
doge (3.4.0) is 129 days out of date. Latest is 3.5.0
Your requirements are 236 days out of date

If your requirements file is named “requirements.txt”, you don’t need to provide it.

The –verbatim argument will output your complete requirements file, with some comments about the out of date nature of your packages.

> piprot --verbatim
# Requirements for Piprot
# This actually doubles as a test file

requests==2.3.0
six==1.6.1 # Latest 1.7.3

piprot==0.6.0
# notarequirement==0.1.1

doge==3.4.0 # Latest 3.5.0
# Generated with piprot 0.7.0
# Your requirements are 236 days out of date

Using –outdated will show only the out of date requirements, pretty much the same as running pip list -o, except on a requirements file.

> piprot --outdated
six (1.6.1) is 107 days out of date. Latest is 1.7.3
doge (3.4.0) is 129 days out of date. Latest is 3.5.0
Your requirements are 236 days out of date

Yep, you can use stdin as well if you really want to, but there are better tools for working with packages installed in your environment.

pip freeze | piprot

And what I like to do is use –verbatim and push it back out into another file.

piprot --verbatim > reqs.txt

Working with your environment

piprot is designed around working with requirements defined in a requirements file. Check out pip-tools if you’re looking for something similar that’s designed for use against the packages that you actually have installed.

Notifications

Since version 0.7.0 piprot has had support for uploading your requirements to piprot.io to receive weekly notifications about packages that have been updated. You can upload your requirements using a command like this:

piprot --notify=brenton@piprot.io requirements.txt

This service was created by @sesh (the creator of this tool, me!) and will at some point in the future require a small fee for ongoing notifications.

Tests

To run the test suite, execute python -m unittest discover, within the project directory.

Please ensure that the (limited) tests are all passing before making a pull request. Feel free to add more.

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

piprot-0.7.2.tar.gz (6.2 kB view hashes)

Uploaded Source

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