@@ -107,12 +107,13 @@ Choosing a build backend
107
107
-----------------------
108
108
109
109
Tools like :ref: `pip ` and :ref: `build ` do not actually convert your sources
110
- into a :term: `distribution package <Distribution Package> `;
110
+ into a :term: `distribution package <Distribution Package> ` (like a wheel) ;
111
111
that job is performed by a _build backend _. The build backend determines how
112
112
your project will specify its configuration, including metadata (information
113
113
about the project, for example, the name and tags that are displayed on PyPI)
114
- and input files. Build backends have different levels of functionality, and
115
- you should choose one that suits your needs, but also meets your preferences.
114
+ and input files. Build backends have different levels of functionality, such as
115
+ whether they support building :term: `extension modules <Extension Module> `, and
116
+ you should choose one that suits your needs and preferences.
116
117
117
118
You can choose from a number of backends; this tutorial uses :ref: `Hatchling
118
119
<hatch>` by default, but it will work identically with :ref: `setuptools `,
@@ -165,7 +166,9 @@ for more details.
165
166
166
167
167
168
The ``requires `` key is a list of packages that are needed to build your package.
168
- The front end should install them automatically when building your package.
169
+ The frontend should install them automatically when building your package.
170
+ Frontends usually run builds in isolated environments, so omitting dependencies
171
+ here may cause build-time errors.
169
172
This should always include your backend's package, and might have other build-time
170
173
dependencies.
171
174
0 commit comments