Skip to main content

Wrapper around pip commands to auto save/delete requirements

Project description

pipm

Python package management workflow using pip & requirements file as its metadata. (For the time being until Pipfile is mature.)

Installation

Install from PyPI

pip install pipm

Or Install directly from the GitHub

pip install -e git://github.com/jnoortheen/pipm.git@master#egg=pipm

Quickstart

All pip commands will work as it is, plus they will be saved to the requirements file. Both pip and pipm command will work as the same. For some reason, if the pip command is not overridden, you could always rely on pipm.

warning

  • the pip command will be replaced by the one that comes with this package. There is no functionality gets affected other than manipulating the requirements files. So when you uninstall pipm the pip command will also get removed. To remedy this, just install pip again using easy_install pip

  • this tool manipulates all your requirements file. So be sure to use version control software or take backup of your files to keep track of changes.

installation

pipm install pkg-name or pip install pkg-name

installation as development dependency

pipm install pkg-name --dev

installation as testing dependency

pipm install pkg-name --test

removal

pipm uninstall pkg-name

update all your dependencies

pipm update

install all your dependencies from the requirements file

pipm install

including development dependencies

pipm install --dev

Usage

  1. install

    • a wrapper around standard pip install command and accepts all the standard options

      Below are the things that pipm brings to the table

    • Extra functionality

      • when package names are given it will be saved to the requirements.txt file in the current directory. If you have requirements directory structure with base.txt inside then that file will be used. Otherwise it will create one in the current directory.

      • when no package name is given then it is equivalent to -r requirements.txt and it will install all requirements from the current directory

    • Additions options:

      the below saves to file when package name given otherwise equivalent to passing requirements file name.

      1. --dev - saves to development requirements

      2. --prod - saves to production requirements

      3. --test - saves to testing requirements

      4. --env <name> - if you have any special set of requirements that belong to a separate file you could pass the name here. It will search for the matching one in the following pattern <name>-requirements.txt or requirements/<name>.txt or requirements-<name>.txt

  2. uninstall

    • a wrapper around standard pip uninstall command

    • alias rm is available

    • when uninstalling a package, this command also checks packages that are no longer required by any of the installed packages and removes them

    • ofcourse it removes the packages from requirements files

  3. update

    • new command

    • equivalent to calling pip install with --upgrade flag

    • update a single package or the whole environment when no argument given.

  4. save/freeze

    • extends the standard freeze command to save the currently installed packages

Features

  1. Just a wrapper around the standard pip’s install & uninstall command. So all the cli options will work

  2. Handles multiple requirements files

Testing

  • After installing requirements just run invoke test from the root directory.

Note: last tested with pip 9.0.1

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

pipm-0.9.3.tar.gz (9.1 kB view details)

Uploaded Source

File details

Details for the file pipm-0.9.3.tar.gz.

File metadata

  • Download URL: pipm-0.9.3.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pipm-0.9.3.tar.gz
Algorithm Hash digest
SHA256 6b39f30d8ad79255ffb9684db6190b782ce7915011a2089a3a0d4926a7c66396
MD5 5587de0c3e104b195baa2fdff7b0e5d1
BLAKE2b-256 6b90e3f3bf16d5696d13c21557b33074c09a5776530babd1628776dff9d69a8c

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