Skip to main content

Peepin

https://travis-ci.org/peterbe/peepin.svg?branch=master

This tool makes it easier to update your strict “peep-ready” requirements.txt file.

If you want to add a package or edit the version of one you’re currently using you have to do the following steps:

  1. Go to pypi for that package

  2. Download the .tgz file

  3. Possibly download the .whl file

  4. Run peep hash downloadedpackage-1.2.3.tgz

  5. Run peep hash downloadedpackage-1.2.3.whl

  6. Edit requirements.txt

This script does all those things. Hackishly wonderfully so.

A Word of Warning!

The whole point of peep is that you vet the packages that you use on your laptop and that they haven’t been tampered with. Then you can confidently install them on a server.

This tool downloads from PyPI (over HTTPS) and runs peep hash on the downloaded files.

You still need to check that the packages that are downloaded are sane.

You might not have time to go through the lines one by one but you should be aware that the vetting process is your responsibility.

Installation

This is something you only do or ever need in a development environment. Ie. your laptop:

pip install peepin

How to use it

Suppose you want to install futures. You can either do this:

peepin futures

Which will download the latest version tarball (and wheel) and calculate their peep hash and edit your requirements.txt file.

Or you can be specific about exactly which version you want:

peepin "futures==2.1.3"

Suppose you don’t have a requirements.txt right there in the same directory you can do this:

peepin "futures==2.1.3" stuff/requirementst/prod.txt

If there’s not output. It worked. Check how it edited your requirements files.

Runnings tests

Simply run:

python setup.py test

Ode to Erik Rose

Just in case you didn’t know; peep is awesome. It makes it possible to confidently leave third-party packages to be installed on the server without needing to be checked into some sort of “vendor” directory.

Having said that, if you don’t care about security or repeatability. Then Erik is just a dude with a goatee.

Version History

0.9
  • setup.py installs argparse if you’re on python 2.6

0.8
  • Avoid editing the requirements file if no packages are found, fixed #3

0.7
  • Ability to download binary URLs

0.6
  • Works in python 2.6, 2.7, 3.3 and 3.4

0.5
  • Fix for multi-version packages like Django

0.4
  • Be verbose about downloaded files

0.3
  • Regression

0.2
  • –verbose option

0.1
  • Works

Metadata

Release files for peepin 0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for peepin 0.9
File Size Uploaded
peepin-0.9.tar.gz 5.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for peepin 0.9
File Interpreter ABI Platform
peepin-0.9-py3-none-any.whl Python 3 none any Details
peepin-0.9-py2-none-any.whl Python 2 none any Details

Total release size: 18.8 kB

Release files / peepin-0.9.tar.gz

Download URL peepin-0.9.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3708281efa3bf02d00bcd16d91c3a5aa10b7f5f9875d698e17942b7011ad28fa
BLAKE2b-256 checksum
How to use checksums
4aa4c40fd01483381090c09bd2ebbae6c3a595c7f91f3e68e090268a36def867
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / peepin-0.9-py3-none-any.whl

Download URL peepin-0.9-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f1c993f4eaef4603facc1a18d48fc8178e41ce5f6da6b60f7a785b90427f7df
BLAKE2b-256 checksum
How to use checksums
5ca96b240ddbae18233cdb2ccbbe8bdbf42c43ca0580d1ac56ff32ae47fc31fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / peepin-0.9-py2-none-any.whl

Download URL peepin-0.9-py2-none-any.whl
Size 6.7 kB
Tags Python 2
SHA-256 checksum
How to use checksums
b3c9418c423966e2bc04bddd8711a62f17ac7a7ddd5454f6509e6eb641560d04
BLAKE2b-256 checksum
How to use checksums
19c742fb8d7a9537b80d3d5e7e77ac3a31f19750a254f204c1048aadb5de0b71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.14

2 release files

0.13

3 release files

0.12

3 release files

0.11

3 release files

0.10

3 release files

This release

0.9 This release

3 release files

0.8

3 release files

0.7

3 release files

0.6

3 release files

0.4

2 release files

0.3

2 release files

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page