PyBuilder is a software build tool written in 100% pure Python, mainly targeting Python applications.
PyBuilder is based on the concept of dependency based programming, but it also comes with a powerful plugin mechanism, allowing 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.3, 3.4, 3.5 and PyPy.
See the Travis Build for version specific output.
PyBuilder is available using pip:
$ pip install pybuilder
For development builds use:
$ pip install --pre 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 pybuilder.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 of the box that utilize tools and libraries commonly used in Python projects:
- python.coverage - Uses the standard coverage module to calculate unit test line coverage.
- python.distutils - Provides support to generate and use setup.py files.
- python.django - Provides support for developing Django applications.
- python.frosted - Lint source files with frosted
- python.flake8 - Provides support for flake8
- python.pep8 - Provides support for pep8
- python.install_dependencies - Installs the projects build and runtime dependencies using pip
- python.pychecker - Provides support for pychecker
- python.Pydev - Generates project files to import projects into Eclipse PyDev
- python.PyCharm - Generates project files to import projects into Jetbrains PyCharm
- python.pylint - Executes pylint on your sources.
- python.pymetrics - Calculates several metrics using pymetrics
- python.unittest - Executes unittest test cases
- python.integrationtest - Executes python scripts as integrations tests
- python.pytddmon - Provides visual feedback about unit tests through pytddmon
- python.cram - Runs cram tests
- python.sphinx - Build your documentation with sphinx
- python.sonarqube - Analyze your project with SonarQube.
- python.snakefood - Analyze your code dependencies with snakefood.
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.
External plugins: * pybuilder_aws_plugin - handle AWS functionality
The release notes can be found here. There will also be a git tag with each release. Please note that we do not currently promote tags to GitHub “releases”.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|pybuilder-0.11.17-py3-none-any.whl (114.6 kB) Copy SHA256 hash SHA256||Wheel||py3|
|pybuilder-0.11.17.tar.gz (73.4 kB) Copy SHA256 hash SHA256||Source||None|