Skip to main content
======
Peepin
======

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

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 <https://github.com/erikrose/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.11
* Bugfix so that it doesn't just insert the new SHAs but also the new
package name and version.

* Replaced all HTTP mocking done by `httpretty` with regular `mock`.

0.10
* If you had lines like `http://github.com/some.zip#egg=package` in
the requirements the editing of lines got confused.

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.11

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.11
File Size Uploaded
peepin-0.11.tar.gz 5.6 kB Details

Built distributions (wheels)

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

Total release size: 19.7 kB

Release files / peepin-0.11.tar.gz

Download URL peepin-0.11.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9bb4bb912109aad7a2bce8e2286a7d9a09ebccaaefe41af855866b6607159060
BLAKE2b-256 checksum
How to use checksums
4e4d2b9c8ee6d41d1edce1bc774c8ffbc9d5e1467f055418c2af0e15dd8c011c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

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

Download URL peepin-0.11-py3-none-any.whl
Size 7.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ce9a92486eda5bf3d9e4087f802492b15b71b06b894d680cf966f5c27943e532
BLAKE2b-256 checksum
How to use checksums
80545c08b7158b8c046f3ab2a9f92513d226f539757f72da235e94940e7cf5fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

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

Download URL peepin-0.11-py2-none-any.whl
Size 7.0 kB
Tags Python 2
SHA-256 checksum
How to use checksums
73509ab8991893fe5bca29948a19fdc2dbf9c4dd4a0e98aa9c5803bef78ab226
BLAKE2b-256 checksum
How to use checksums
b678962509d05433ecd84d176a5f310574701cbb50ab0efe6387c2b25fbd4fd0
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

This release

0.11 This release

3 release files

0.10

3 release files

0.9

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