skip to navigation
skip to content

pmpd 0.1.0

pmpd [puhmp-eed] is a command line interface to deploy projects that use git.

pmpd [git puhmp-eed] is a command line interface for git deployments that release engineers can use to make life easier. It is heavily influenced by Vincent Driessen’s branching model and uses a syntax similar to gitflow. Its goal is to simplify and streamline deployments of complex branching systems by making commands and actions as human-friendly as possible. It provides a simple pmpd command that allows for merging and deploying branches to any number of distinct servers that are connected by a common git server like gitolite.

Main Features

  • Expressive and intuitive syntax
  • Makes continuous integration easier
  • Release branches are pmpd out
  • Identify conflicting feature branches before release time
  • Automated pmpd deployments similar to Google’s AppEngine approach
  • Multi server environments supported
  • Distributed branching model for large group collaborations


The latest stable version of pmpd can always be installed or updated to via pip:

$ pip install --upgrade pmpd


After installation is complete pmpd puts .pmpd/config.json into the root of your repository. You may want to add the folder to .gitignore, but leaving it there is also a good way to keep track of your build history. pmpd.conf is used to relate servers to reference branches and to specify which feature branches belong in a given release.

You must fill out .pmpd/config.json so that it matches the flow of your own deployments and you’ll probably update this file in some way every time a new release is pmpd out.



$ pmpd


$ pmpd [flags] [METHOD] [BRANCH]

See also pmpd --help


Build an alpha release based on the current state of production:

$ pmpd build alpha


Jared Hall, PyScape