|
| 1 | +Metadata-Version: 2.1 |
| 2 | +Name: build |
| 3 | +Version: 1.2.2.post1 |
| 4 | +Summary: A simple, correct Python build frontend |
| 5 | +Author-email: Filipe Laíns <lains@riseup.net>, Bernát Gábor <gaborjbernat@gmail.com>, layday <layday@protonmail.com>, Henry Schreiner <henryschreineriii@gmail.com> |
| 6 | +Requires-Python: >= 3.8 |
| 7 | +Description-Content-Type: text/markdown |
| 8 | +Classifier: License :: OSI Approved :: MIT License |
| 9 | +Classifier: Programming Language :: Python :: 3 |
| 10 | +Classifier: Programming Language :: Python :: 3 :: Only |
| 11 | +Classifier: Programming Language :: Python :: 3.8 |
| 12 | +Classifier: Programming Language :: Python :: 3.9 |
| 13 | +Classifier: Programming Language :: Python :: 3.10 |
| 14 | +Classifier: Programming Language :: Python :: 3.11 |
| 15 | +Classifier: Programming Language :: Python :: 3.12 |
| 16 | +Classifier: Programming Language :: Python :: 3.13 |
| 17 | +Classifier: Programming Language :: Python :: Implementation :: CPython |
| 18 | +Classifier: Programming Language :: Python :: Implementation :: PyPy |
| 19 | +Requires-Dist: packaging >= 19.1 |
| 20 | +Requires-Dist: pyproject_hooks |
| 21 | +Requires-Dist: colorama; os_name == "nt" |
| 22 | +Requires-Dist: importlib-metadata >= 4.6; python_full_version < "3.10.2" |
| 23 | +Requires-Dist: tomli >= 1.1.0; python_version < "3.11" |
| 24 | +Requires-Dist: furo >= 2023.08.17 ; extra == "docs" |
| 25 | +Requires-Dist: sphinx ~= 7.0 ; extra == "docs" |
| 26 | +Requires-Dist: sphinx-argparse-cli >= 1.5 ; extra == "docs" |
| 27 | +Requires-Dist: sphinx-autodoc-typehints >= 1.10 ; extra == "docs" |
| 28 | +Requires-Dist: sphinx-issues >= 3.0.0 ; extra == "docs" |
| 29 | +Requires-Dist: build[uv, virtualenv] ; extra == "test" |
| 30 | +Requires-Dist: filelock >= 3 ; extra == "test" |
| 31 | +Requires-Dist: pytest >= 6.2.4 ; extra == "test" |
| 32 | +Requires-Dist: pytest-cov >= 2.12 ; extra == "test" |
| 33 | +Requires-Dist: pytest-mock >= 2 ; extra == "test" |
| 34 | +Requires-Dist: pytest-rerunfailures >= 9.1 ; extra == "test" |
| 35 | +Requires-Dist: pytest-xdist >= 1.34 ; extra == "test" |
| 36 | +Requires-Dist: wheel >= 0.36.0 ; extra == "test" |
| 37 | +Requires-Dist: setuptools >= 42.0.0 ; extra == "test" and ( python_version < "3.10") |
| 38 | +Requires-Dist: setuptools >= 56.0.0 ; extra == "test" and ( python_version == "3.10") |
| 39 | +Requires-Dist: setuptools >= 56.0.0 ; extra == "test" and ( python_version == "3.11") |
| 40 | +Requires-Dist: setuptools >= 67.8.0 ; extra == "test" and ( python_version >= "3.12") |
| 41 | +Requires-Dist: build[uv] ; extra == "typing" |
| 42 | +Requires-Dist: importlib-metadata >= 5.1 ; extra == "typing" |
| 43 | +Requires-Dist: mypy ~= 1.9.0 ; extra == "typing" |
| 44 | +Requires-Dist: tomli ; extra == "typing" |
| 45 | +Requires-Dist: typing-extensions >= 3.7.4.3 ; extra == "typing" |
| 46 | +Requires-Dist: uv >= 0.1.18 ; extra == "uv" |
| 47 | +Requires-Dist: virtualenv >= 20.0.35 ; extra == "virtualenv" |
| 48 | +Project-URL: changelog, https://build.pypa.io/en/stable/changelog.html |
| 49 | +Project-URL: homepage, https://build.pypa.io |
| 50 | +Project-URL: issues, https://github.com/pypa/build/issues |
| 51 | +Project-URL: source, https://github.com/pypa/build |
| 52 | +Provides-Extra: docs |
| 53 | +Provides-Extra: test |
| 54 | +Provides-Extra: typing |
| 55 | +Provides-Extra: uv |
| 56 | +Provides-Extra: virtualenv |
| 57 | + |
| 58 | +# build |
| 59 | + |
| 60 | +[](https://results.pre-commit.ci/latest/github/pypa/build/main) |
| 61 | +[](https://github.com/pypa/build/actions/workflows/test.yml) |
| 62 | +[](https://codecov.io/gh/pypa/build) |
| 63 | + |
| 64 | +[](https://build.pypa.io/en/latest/?badge=latest) |
| 65 | +[](https://pypi.org/project/build/) |
| 66 | +[](https://discord.gg/pypa) |
| 67 | + |
| 68 | +A simple, correct Python build frontend. |
| 69 | + |
| 70 | +See the [documentation](https://build.pypa.io) for more information. |
| 71 | + |
| 72 | +### Installation |
| 73 | + |
| 74 | +`build` can be installed via `pip` or an equivalent via: |
| 75 | + |
| 76 | +```console |
| 77 | +$ pip install build |
| 78 | +``` |
| 79 | + |
| 80 | +### Usage |
| 81 | + |
| 82 | +```console |
| 83 | +$ python -m build |
| 84 | +``` |
| 85 | + |
| 86 | +This will build the package in an isolated environment, generating a |
| 87 | +source-distribution and wheel in the directory `dist/`. |
| 88 | +See the [documentation](https://build.pypa.io) for full information. |
| 89 | + |
| 90 | +### Common arguments |
| 91 | + |
| 92 | +- `--sdist` (`-s`): Produce just an SDist |
| 93 | +- `--wheel` (`-w`): Produce just a wheel |
| 94 | +- `-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. |
| 95 | +- `--installer`: Pick an installer for the isolated build (`pip` or `uv`). |
| 96 | +- `--no-isolation` (`-n`): Disable build isolation. |
| 97 | +- `--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. |
| 98 | +- `--outdir` (`-o`): The output directory (defaults to `dist`) |
| 99 | + |
| 100 | +Some common combinations of arguments: |
| 101 | + |
| 102 | +- `--sdist --wheel` (`-sw`): Produce and 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. |
| 103 | +- `-nx`: Disable build isolation and dependency checking. Identical to pip and uv's `--no-build-isolation` flag. |
| 104 | + |
| 105 | +### Integration with other tools |
| 106 | + |
| 107 | +#### pipx |
| 108 | + |
| 109 | +If you use [pipx][], such as in GitHub Actions, the following command will download |
| 110 | +and run build in one step: |
| 111 | + |
| 112 | +```console |
| 113 | +$ pipx run build |
| 114 | +``` |
| 115 | + |
| 116 | +#### uv |
| 117 | + |
| 118 | +If you want to use [uv][] to speed up the virtual environment creation, you can use |
| 119 | +`--installer=uv`. You can get a Python wheel for `uv` with the `[uv]` extra. |
| 120 | +Combining both suggestions yields the following: |
| 121 | + |
| 122 | +```console |
| 123 | +$ pipx run build[uv] --installer=uv |
| 124 | +``` |
| 125 | + |
| 126 | +#### cibuildwheel |
| 127 | + |
| 128 | +If you are using [cibuildwheel][], build is integrated and can be use with either (in your `pyproject.toml`): |
| 129 | + |
| 130 | +```toml |
| 131 | +[tool.cibuildwheel] |
| 132 | +build-frontend = "build" |
| 133 | +``` |
| 134 | + |
| 135 | +or |
| 136 | + |
| 137 | +```toml |
| 138 | +[tool.cibuildwheel] |
| 139 | +build-frontend = "build[uv]" |
| 140 | +``` |
| 141 | + |
| 142 | +(Be sure to pre-install uv before running cibuildwheel for this one!) |
| 143 | + |
| 144 | +#### Conda-forge |
| 145 | + |
| 146 | +On conda-forge, this package is called [python-build][]. |
| 147 | + |
| 148 | +### Code of Conduct |
| 149 | + |
| 150 | +Everyone interacting in the build's codebase, issue trackers, chat rooms, and mailing lists is expected to follow |
| 151 | +the [PSF Code of Conduct]. |
| 152 | + |
| 153 | +[psf code of conduct]: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md |
| 154 | +[pipx]: https://pipx.pypa.io |
| 155 | +[uv]: https://docs.astral.sh/uv/ |
| 156 | +[cibuildwheel]: https://cibuildwheel.pypa.io |
| 157 | +[python-build]: https://github.com/conda-forge/python-build-feedstock |
| 158 | + |
0 commit comments