PyBuilder is a software build automation tool written in pure Python mainly targeting Python ecosystem. It 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 build tools like Apache Maven and Gradle.
PyBuilder runs on Python 3.7 to 3.12 and PyPy. Every commit is tested via GitHub Actions on CPython 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 and PyPy on Linux, MacOS (with and without Homebrew) and Windows.
v0.13.6 is the last version supporting Python 3.6.
v0.12.x still supports Python 2.7, and 3.5 but is no longer maintained.
v0.11.x still supports Python 2.6, 3.3 and 3.4 but is no longer maintained.
PyBuilder is licensed under Apache 2.0 License and is hosted on github.com/pybuilder/pybuilder.
PyBuilder 0.13.3 introduced two new features:
PyBuilder 0.13.0 has been released adding support for Python 3.10, deprecating EOL Pythons (2.7 and 3.5), stabilizing environment orchestration across all major platforms and migrating CI/CD to GitHub Actions.
The first version of GitHub Action for PyBuilder has been released!
#!/bin/sh
pip install pybuilder
# If you want the bleeding edge
# (we release after every commit)
# pip install --pre pybuilder
pyb --start-project
pyb publish
git clone https://github.com/twentybn/GulpIO
cd GulpIO
python -m venv venv
source venv/bin/activate
pip install pybuilder
# If you want the bleeding edge
# (we release after every commit)
# pip install --pre pybuilder
pyb
pip install pybuilder
We recommend using virtualenv. Please see the dedicated installation page.
The tutorial shows you how to get started using PyBuilder for your Python project including unittests, coverage and distutils.