PyBuilder 0.13.19 is a feature release with several notable additions:
Full extras and markers support. The depends_on() method now accepts extra
and markers keyword arguments. Extras let you define optional dependency groups
that users install via pip install mypackage[extra_name]. Markers support PEP 508
environment markers for platform-conditional dependencies:
@init
def initialize(project):
project.depends_on("pywin32", markers="sys_platform == 'win32'")
project.depends_on("cryptography", extra="security")
The generated setup.py now includes extras_require for extras and proper marker
annotations for conditional dependencies.
Python 3.14 support. Full CI coverage on CPython 3.14.
Python 3.9 dropped. The minimum supported version is now Python 3.10.
Fedora/RHEL lib64 fix. On distributions that install platform-specific packages
to lib64/ instead of lib/ (Fedora, RHEL, CentOS), PyBuilder now correctly
includes both paths in the venv’s site-packages search, fixing ModuleNotFoundError
for packages with C extensions like coverage.
See the release notes for details.