Skip to main content

Manages pip requirements files for multiple environments, e.g. production and development

Project description

Build status Coverage status Latest PyPI version Supported Python versions Number of PyPI downloads

pipwrap simplifies handling Python project requirements across multiple environments. pip freeze > requirements.txt gets your project started, but do you really want mock, coverage, etc. installed on your production server? If you’ve ever found yourself sifting through the output of pip freeze trying to figure out what packages you’ve installed but didn’t yet add to one of your requirements files, then pipwrap is the tool for you.

Features

  • Create or update requirements files based on installed packages

  • Remove stray packages in virtualenv

  • List discrepancies between installed packages and requirements files

Installation

You can get pipwrap from PyPI with:

pip install pipwrap

The development version can be installed with:

pip install -e git://github.com/jessamynsmith/pipwrap.git#egg=pipwrap

If you are developing locally, your version can be installed from the working directory with:

python setup.py.install

Usage

Note: You may ignore warnings about “Recursive requirements not supported.” These are due to current limitations of the requirements-parser library.

Getting Started with pipwrap

  1. (Optional) Create requirements files with a list of your packages

  2. Interactively populate requirements files from currently installed packages:

    pipwrap -r

  3. Create a top-level requirements.txt file that points to your production requirements, e.g. “-r production.txt”

Keeping requirements up to date with pipwrap

  1. Interactively update requirements files from currently installed packages:

    pipwrap -r # Adds packages in virtualenv

    pipwrap -rc # Adds packages in virtualenv and removes packages not in virtualenv

  2. Remove stray packages in virtualenv:

    pipwrap -x

  3. See discrepancies between installed packages and requirements files:

    pipwrap -l

NOTE: This last option can be used to determine what the other options would do. Any packages in the “Packages installed but not present in requirements” section would be uninstalled with the -x option or added to requirements with the -r option. Any packages in the “Packages present in requirements but not installed” section would be removed from the requirements files with the -rc option.

Development

Fork the project on github and git clone your fork, e.g.:

git clone https://github.com/<username>/pipwrap.git

Create a virtualenv and install dependencies:

mkvirtualenv pipwrap
pip install -r requirements/package.txt -r requirements/test.txt

Run tests with coverage (should be 100%) and check code style:

coverage run -m nose
coverage report -m
flake8

Verify all supported Python versions:

pip install tox
tox

Install your local copy:

python setup.py.install

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

pipwrap-0.2.1.tar.gz (7.8 kB view details)

Uploaded Source

File details

Details for the file pipwrap-0.2.1.tar.gz.

File metadata

  • Download URL: pipwrap-0.2.1.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pipwrap-0.2.1.tar.gz
Algorithm Hash digest
SHA256 89d0cda6e92f3b74d483bebc72322c13d37906f293f3f30869b930542647eb70
MD5 82a0a2aa1ff0c002ad642c930d2a3903
BLAKE2b-256 da2ab14d9fdf352c1767f71738bd7277f94fa20c9c6b009b88ed541ac2b615f2

See more details on using hashes here.

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