Paver: Build, Distribute and Deploy Python Projects

_images/paver_banner.jpg

Paver is a Python-based build/distribution/deployment scripting tool along the lines of Make or Rake. What makes Paver unique is its integration with commonly used Python libraries. Common tasks that were easy before remain easy. More importantly, dealing with your applications specific needs and requirements is now much easier.

  • Build files are just Python
  • One file with one syntax, pavement.py, knows how to manage your project
  • File operations are unbelievably easy, thanks to the built-in version of Jason Orendorff’s path.py.
  • Need to do something that takes 5 lines of code? It’ll only take 5 lines of code..
  • Completely encompasses distutils and setuptools so that you can customize behavior as you need to.
  • Wraps Sphinx for generating documentation, and adds utilities that make it easier to incorporate fully tested sample code.
  • Wraps Subversion for working with code that is checked out.
  • Wraps virtualenv to allow you to trivially create a bootstrap script that gets a virtual environment up and running. This is a great way to install packages into a contained environment.
  • Can use all of these other libraries, but requires none of them
  • Easily transition from setup.py without making your users learn about or even install Paver! (See the Getting Started Guide for an example).

See how it works! Check out the Getting Started Guide.

Paver was created by Kevin Dangoor of SitePen.

Status

Paver is currently alpha release software. There is one major feature (zc.buildout integration) planned for 1.0. At this point, it is unlikely that there will be significant changes to the pavement syntax, but there are no guarantees. If there are breaking changes, they will almost certainly be minor.

See the changelog for more information about recent improvements.

Installation

The easiest way to get Paver is if you have setuptools installed.

easy_install Paver

Without setuptools, it’s still pretty easy. Download the Paver .tgz file from Paver’s Cheeseshop page, untar it and run:

python setup.py install

Help and Development

You can get help from the mailing list.

If you’d like to help out with Paver, you can check the code out from Launchpad:

bzr branch http://bazaar.launchpad.net/~dangoor/paver/main

You can also take a look at Paver’s project page on Launchpad.

Indices and tables