Skip to content

Instantly share code, notes, and snippets.



Created Oct 16, 2012
What would you like to do?
pmp Concept

CLI (inspired by Composer):

As pip installs packages, pmp manages projects.

It provides a simple extensible command interface designed to influence good behavior in project management using existing tools (and minor hacks/additions).

Optional Behaviors

  • vendor packages vs using an external virtualenv (vendor/) * have bin/python deal with sites (as buildout does) so only items listed in lockfile (version specific) get bound
  • manage package version via publish? (project/VERSION?)
  • maintain a lockfile/requirements file (similar to requirements.txt, also used by the install commands) * this could happen via a second command, or via install


pmp [command] [options]
pmp install  # pip install .
pmp install <name>  # pip install <name>
pmp install <github url|bitbucket url|googlecode url>  # pip install <repo>
pmp develop  # pip install -e .
pmp test [options] # install test dependencies and run [test|nosetests]
# publish will register the package if its not already present on pypi
pmp publish  # python sdist upload
pmp publish disqus  # python sdist upload -r disqus
pmp register
pmp register disqus
pmp add-pypi [name] [url]  # register remote pypi, attempt to fix bad urls you enter


# add to lockfile
pmp require [name]
# update any top-level dependencies which have a newer version within range
# requires lockfile
pmp update
# generates a new, etc. for you
pmp it

This comment has been minimized.

Copy link

@d1ffuz0r d1ffuz0r commented Oct 16, 2012

pip for humans :)


This comment has been minimized.

Copy link

@aldeka aldeka commented Oct 16, 2012

Can we preemptively declare that it's pronounced, say, "pump" (not "pimp")? :/


This comment has been minimized.

Copy link

@kenreitz42 kenreitz42 commented Oct 16, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment