Skip to content

Getting Started

Install with pip or uv (recommended for speed):

Terminal window
pip install headless-wheel-builder
# or with uv
uv pip install headless-wheel-builder
# include all extras (notifications, security scanning, metrics)
pip install headless-wheel-builder[all]
Terminal window
hwb build .

Pin to a tag, branch, or commit:

Terminal window
hwb build https://github.com/user/repo@v2.0.0
hwb build https://github.com/user/repo@main
Terminal window
hwb build ./my-package-1.0.0.tar.gz

Target multiple Python versions in a single invocation:

Terminal window
hwb build . --python 3.11 --python 3.12

Each version gets its own isolated environment. The resulting wheels land in dist/ by default.

Uses uv under the hood for fast dependency resolution:

Terminal window
hwb build . --isolation venv

Build inside a manylinux or musllinux container for maximum compatibility:

Terminal window
hwb build . --isolation docker --image manylinux2014_x86_64

Docker isolation ensures your wheels work on any Linux distribution without surprises.

Add a [tool.hwb] section to your pyproject.toml:

[tool.hwb]
default-python = ["3.11", "3.12"]
isolation = "venv"
output-dir = "dist"

Command-line flags always override configuration file values.