build
A simple, correct Python build frontend.
See the documentation for more information.
Installation
build can be installed via pip or an equivalent via:
$ pip install build
Usage
$ python -m build
This will build the package in an isolated environment, generating a source-distribution and wheel in the directory
dist/. See the documentation for full information. Build is also available via the command
line as pyproject-build once installed.
Common arguments
--sdist(-s): Produce just an SDist--wheel(-w): Produce just a wheel--metadata: Produce just the metadata as JSON. Cannot be used with--sdist/--wheel.-C<option>=<value>: A Config-setting, the PEP 517 way of passing options to a backend. Can be passed multiple times. Matching options will make a list. Note that setuptools has very limited support.--config-json=<value>: An alternative way to pass in complex config settings as JSON strings. Can't be used with-C.--installer: Pick an installer for the isolated build (piporuv).--no-isolation(-n): Disable build isolation.--skip-dependency-check(-x): Disable dependency checking when not isolated; this should be done if some requirements or version ranges are not required for non-isolated builds.--outdir(-o): The output directory (defaults todist)
Some common combinations of arguments:
--sdist --wheel(-sw): Produce an SDist and a wheel, both from the source distribution. The default (if no flag is passed) is to build an SDist and then build a wheel from the SDist.-nx: Disable build isolation and dependency checking. Identical to pip and uv's--no-build-isolationflag.--metadata | jq -r .version: get the version in a bash-like environment.
Integration with other tools
pipx
If you use pipx, such as in GitHub Actions, the following command will download and run build in one step:
$ pipx run build
uv
If you want to use uv to speed up the virtual environment creation, you can use --installer=uv. You can get a Python
wheel for uv with the [uv] extra. For example, using pipx like above:
$ pipx run 'build[uv]' --installer uv
If you already have uv, you don't need the extra. For example:
$ uvx --from build pyproject-build --installer uv
cibuildwheel
If you are using cibuildwheel, build is integrated and the default builder in 3.0+. If you want to use uv as the
installer, you can use:
[tool.cibuildwheel]
build-frontend = "build[uv]"
(Be sure to pre-install uv before running cibuildwheel for this one!)
Conda-forge
On conda-forge, this package is called python-build.
Code of Conduct
Everyone interacting with build's codebase, issue trackers, chat rooms, and mailing lists is expected to follow the PSF Code of Conduct.
Release files for build 1.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| build-1.6.1.tar.gz | 113.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| build-1.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 144.6 kB
Release files / build-1.6.1.tar.gz
| Download URL | build-1.6.1.tar.gz |
|---|---|
| Size | 113.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51cc11666391ab6f092070437ac747002ff46f3e4113a3622177ee6b488bfc53
|
|
BLAKE2b-256 checksum How to use checksums |
bd674898a44ea4f3f8e213b0954ec0aa0a16971d62a6212d6ea3931e97115b99
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / build-1.6.1-py3-none-any.whl
| Download URL | build-1.6.1-py3-none-any.whl |
|---|---|
| Size | 31.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ecd351a4be9d35a9eaaba244a7687143c9c7d4aea6ac964e7e7ddab20cbcf4e7
|
|
BLAKE2b-256 checksum How to use checksums |
ad9b9fb3585dabcd73a1b2a6267f63f62649347c9e6d072c9fde365b105abb2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log