https://github.com/pypa/build
A simple, correct Python build frontend
https://github.com/pypa/build
python
Last synced: 4 days ago
JSON representation
A simple, correct Python build frontend
- Host: GitHub
- URL: https://github.com/pypa/build
- Owner: pypa
- License: mit
- Created: 2020-05-10T16:20:46.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2025-06-12T16:17:45.000Z (11 months ago)
- Last Synced: 2025-06-16T19:42:48.696Z (10 months ago)
- Topics: python
- Language: Python
- Homepage: https://build.pypa.io
- Size: 896 KB
- Stars: 789
- Watchers: 27
- Forks: 131
- Open Issues: 68
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rst
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- jimsghstars - pypa/build - A simple, correct Python build frontend (Python)
README
# build
[](https://results.pre-commit.ci/latest/github/pypa/build/main)
[](https://github.com/pypa/build/actions/workflows/test.yml)
[](https://codecov.io/gh/pypa/build)
[](https://build.pypa.io/en/latest/?badge=latest)
[](https://pypi.org/project/build/)
[](https://discord.gg/pypa)
A simple, correct Python build frontend.
See the [documentation](https://build.pypa.io) for more information.
### Installation
`build` can be installed via `pip` or an equivalent via:
```console
$ pip install build
```
### Usage
```console
$ 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](https://build.pypa.io) 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=`: 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=`: 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 (`pip` or `uv`).
- `--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 to `dist`)
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-isolation` flag.
- `--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:
```console
$ 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:
```console
$ pipx run 'build[uv]' --installer uv
```
If you already have uv, you don't need the extra. For example:
```console
$ 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:
```toml
[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].
[psf code of conduct]: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md
[pipx]: https://pipx.pypa.io
[uv]: https://docs.astral.sh/uv/
[cibuildwheel]: https://cibuildwheel.pypa.io
[python-build]: https://github.com/conda-forge/python-build-feedstock