Pybuilder is a software build tool written in 100% pure Python and mainly targets Python applications.
Pybuilder is based on the concept of dependency based programming but also comes along with powerful plugin mechanism that allows the construction of build life cycles similar to those known from other famous (Java) build tools.
Pybuilder is running on the following versions of Python:
- 2.6
- 2.7
- 3.2
- PyPy
See the Travis Build for version specific output.
Pybuilder is available using pip:
$ pip install pybuilder
See the Cheeseshop page for more information.
Pybuilder emphasizes simplicity. If you want to build a pure Python project and use the recommended directory layout, all you have to do is create a file build.py with the following content:
from pythonbuilder.core import use_plugin
use_plugin("python.core")
use_plugin("python.unittest")
use_plugin("python.coverage")
use_plugin("python.distutils")
default_task = "publish"
See the pybuilder homepage for more details.
pybuilder provides a lot of plugins out ot the box that utilize tools and libraries commonly used in Python projects:
- Coverage - Uses the standard coverage module to calculate unit test line coverage.
- Setuptools - Provides support to generate setup.py files.
- Django - Provides support for developing Django applications.
- Flake8 - Provides support for flake8
- Pep8 - Provides support for pep8
- Pip - Provides support for installing dependencies using
pip
- Pychecker - Provides support for pychecker
- Pydev - Generates project files to import projects into Eclipse PyDev
- Pylint - Executes pylint on your sources.
- Pymetrics - Calculates several metrics using pymetrics
- Unittest - Executes unittest test cases
In addition, a few common plugins are provided:
- copy_resources - Copies files.
- filter_resources - Filters files by replacing tokens with configuration values.
- source_distribution - Bundles a source distribution for shipping.
The release notes can be found here