Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

A wrapper for pip to save packages in requirements files.

Project description

build pipw python coverage license

A wrapper for pip to save packages in requirements files similar to npm.

There are better alternatives to pip (like Pipenv), but this was created for those who want or need to continue using pip. For example, those who collaborate in projects that use pip requirements files.


$ pip install pipw


pipw (install|uninstall) [-e] <package>... [options]


-s, --save           Save packages to the requirements file. This is default
                     unless --no-save. Packages are saved in
                     requirements.txt unless a custom configuration is used.
-n, --no-save        Prevent save packages to the requirements file.
--config <path>      Pass a custom config file. By default it looks for a
                     .pipwrc file in the directory where the command is
                     executed, or in the user's home directory.
-m, --env <name>     Save in a environment previously declared in the config
--save-to <path>     Save to a custom file.
--no-detect-version  Do not detect installed version, and save package
                     version only if the version is passed.
--help               Show this message and exit.

All pip commands and options are still available.

Config file

You can create a .pipwrc file to use a custom configuration. By default it looks for the file in the directory where the command is executed, or in the user’s home directory. You can also pass a custom file to the --config option.

Example of a config file:

requirements: requirements.txt
specifier: ~=
detect_version: true
    dev: requirements/dev.txt


As you can see, you can set environment files in the configuration file:

requirements: requirements/prod.txt
    dev: requirements/dev.txt
    test: requirements/test.txt

Use the -m (or –env) option to save the packages in an environment file:

$ pipw install pytest -m test

If no environment is passed, the value defined in requirements are used by default. If this value is not defined, a requirements.txt file is used by default. These files are created automatically if they do not exist.

The uninstall command will remove the package in all files, unless the -m option is passed.


Tests are in tests/. To run the tests use one of these commands:

$ make tests
$ make wip-tests
$ make review-tests

You can also pass the environment. For example:

$ make tests env=py35


  • Daniel Ramos

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pipw, version 1.0.5
Filename, size File type Python version Upload date Hashes
Filename, size pipw-1.0.5-py2.py3-none-any.whl (8.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pipw-1.0.5.tar.gz (6.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page