Skip to content

Commit 416f738

Browse files
authored
docs: refactor the documentation to use single-line summaries (#1079)
Quite a lot to go through on this one --------- Signed-off-by: Cristian Le <[email protected]>
1 parent cafa695 commit 416f738

File tree

9 files changed

+472
-241
lines changed

9 files changed

+472
-241
lines changed

README.md

+36-83
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,12 @@ More examples are in the
140140
All configuration options can be placed in `pyproject.toml`, passed via
141141
`-C`/`--config-setting` in build or `-C`/`--config-settings` in `pip` , or set
142142
as environment variables. `tool.scikit-build` is used in toml, `skbuild.` for
143-
`-C` options, or `SKBUILD_*` for environment variables. The defaults are listed
144-
below:
143+
`-C` options, or `SKBUILD_*` for environment variables.
144+
145+
For a full reference and explanation of the variables see the [online
146+
documentation][conf-ref]
147+
148+
A quick summary and some defaults are listed below:
145149

146150
<!-- [[[cog
147151
from scikit_build_core.settings.skbuild_docs_readme import mk_skbuild_docs
@@ -153,112 +157,70 @@ print("```\n")
153157

154158
```toml
155159
[tool.scikit-build]
156-
# The versions of CMake to allow. If CMake is not present on the system or does
157-
# not pass this specifier, it will be downloaded via PyPI if possible. An empty
158-
# string will disable this check. The default on 0.10+ is "CMakeLists.txt",
159-
# which will read it from the project's CMakeLists.txt file, or ">=3.15" if
160-
# unreadable or <0.10.
160+
# The versions of CMake to allow as a python-compatible specifier.
161161
cmake.version = ""
162162

163-
# A list of args to pass to CMake when configuring the project. Setting this in
164-
# config or envvar will override toml. See also ``cmake.define``.
163+
# A list of args to pass to CMake when configuring the project.
165164
cmake.args = []
166165

167166
# A table of defines to pass to CMake when configuring the project. Additive.
168167
cmake.define = {}
169168

170-
# DEPRECATED in 0.10, use build.verbose instead.
171-
cmake.verbose = ""
172-
173-
# The build type to use when building the project. Valid options are: "Debug",
174-
# "Release", "RelWithDebInfo", "MinSizeRel", "", etc.
169+
# The build type to use when building the project.
175170
cmake.build-type = "Release"
176171

177-
# The source directory to use when building the project. Currently only affects
178-
# the native builder (not the setuptools plugin).
172+
# The source directory to use when building the project.
179173
cmake.source-dir = "."
180174

181-
# DEPRECATED in 0.10; use build.targets instead.
182-
cmake.targets = ""
183-
184-
# The versions of Ninja to allow. If Ninja is not present on the system or does
185-
# not pass this specifier, it will be downloaded via PyPI if possible. An empty
186-
# string will disable this check.
175+
# The versions of Ninja to allow.
187176
ninja.version = ">=1.5"
188177

189-
# If Ninja is not present on the system or is older than required, it will be
190-
# downloaded via PyPI if this is false.
178+
# Use Make as a fallback if a suitable Ninja executable is not found.
191179
ninja.make-fallback = true
192180

193-
# The logging level to display, "DEBUG", "INFO", "WARNING", and "ERROR" are
194-
# possible options.
181+
# The logging level to display.
195182
logging.level = "WARNING"
196183

197-
# Files to include in the SDist even if they are skipped by default. Supports
198-
# gitignore syntax.
184+
# Files to include in the SDist even if they are skipped by default. Supports gitignore syntax.
199185
sdist.include = []
200186

201-
# Files to exclude from the SDist even if they are included by default. Supports
202-
# gitignore syntax.
187+
# Files to exclude from the SDist even if they are included by default. Supports gitignore syntax.
203188
sdist.exclude = []
204189

205-
# If set to True, try to build a reproducible distribution (Unix and Python 3.9+
206-
# recommended). ``SOURCE_DATE_EPOCH`` will be used for timestamps, or a fixed
207-
# value if not set.
190+
# Try to build a reproducible distribution.
208191
sdist.reproducible = true
209192

210193
# If set to True, CMake will be run before building the SDist.
211194
sdist.cmake = false
212195

213-
# A list of packages to auto-copy into the wheel. If this is not set, it will
214-
# default to the first of ``src/<package>``, ``python/<package>``, or
215-
# ``<package>`` if they exist. The prefix(s) will be stripped from the package
216-
# name inside the wheel. If a dict, provides a mapping of package name to source
217-
# directory.
196+
# A list of packages to auto-copy into the wheel.
218197
wheel.packages = ["src/<package>", "python/<package>", "<package>"]
219198

220-
# The Python tags. The default (empty string) will use the default Python
221-
# version. You can also set this to "cp38" to enable the CPython 3.8+ Stable ABI
222-
# / Limited API (only on CPython and if the version is sufficient, otherwise
223-
# this has no effect). Or you can set it to "py3" or "py2.py3" to ignore Python
224-
# ABI compatibility. The ABI tag is inferred from this tag.
199+
# The Python version tag used in the wheel file.
225200
wheel.py-api = ""
226201

227-
# Fill out extra tags that are not required. This adds "x86_64" and "arm64" to
228-
# the list of platforms when "universal2" is used, which helps older Pip's
229-
# (before 21.0.1) find the correct wheel.
202+
# Fill out extra tags that are not required.
230203
wheel.expand-macos-universal-tags = false
231204

232-
# The install directory for the wheel. This is relative to the platlib root. You
233-
# might set this to the package name. The original dir is still at
234-
# SKBUILD_PLATLIB_DIR (also SKBUILD_DATA_DIR, etc. are available). EXPERIMENTAL:
235-
# An absolute path will be one level higher than the platlib root, giving access
236-
# to "/platlib", "/data", "/headers", and "/scripts".
205+
# The CMake install prefix relative to the platlib wheel path.
237206
wheel.install-dir = ""
238207

239-
# A list of license files to include in the wheel. Supports glob patterns. The
240-
# default is ``["LICEN[CS]E*", "COPYING*", "NOTICE*", "AUTHORS*"]``. Must not be
241-
# set if ``project.license-files`` is set.
208+
# A list of license files to include in the wheel. Supports glob patterns.
242209
wheel.license-files = ""
243210

244-
# If set to True (the default), CMake will be run before building the wheel.
211+
# Run CMake as part of building the wheel.
245212
wheel.cmake = true
246213

247-
# Target the platlib or the purelib. If not set, the default is to target the
248-
# platlib if wheel.cmake is true, and the purelib otherwise.
214+
# Target the platlib or the purelib.
249215
wheel.platlib = ""
250216

251-
# A set of patterns to exclude from the wheel. This is additive to the SDist
252-
# exclude patterns. This applies to the final paths in the wheel, and can
253-
# exclude files from CMake output as well. Editable installs may not respect
254-
# this exclusion.
217+
# A set of patterns to exclude from the wheel.
255218
wheel.exclude = []
256219

257220
# The build tag to use for the wheel. If empty, no build tag is used.
258221
wheel.build-tag = ""
259222

260-
# If CMake is less than this value, backport a copy of FindPython. Set to 0
261-
# disable this, or the empty string.
223+
# If CMake is less than this value, backport a copy of FindPython.
262224
backport.find-python = "3.26.1"
263225

264226
# Select the editable mode to use. Can be "redirect" (default) or "inplace".
@@ -267,45 +229,37 @@ editable.mode = "redirect"
267229
# Turn on verbose output for the editable mode rebuilds.
268230
editable.verbose = true
269231

270-
# Rebuild the project when the package is imported. The build-directory must be
271-
# set.
232+
# Rebuild the project when the package is imported.
272233
editable.rebuild = false
273234

274235
# Extra args to pass directly to the builder in the build step.
275236
build.tool-args = []
276237

277-
# The build targets to use when building the project. Empty builds the default
278-
# target.
238+
# The build targets to use when building the project.
279239
build.targets = []
280240

281241
# Verbose printout when building.
282242
build.verbose = false
283243

284-
# Additional ``build-system.requires``. Intended to be used in combination with
285-
# ``overrides``.
244+
# Additional ``build-system.requires``.
286245
build.requires = []
287246

288-
# The components to install. If empty, all default components are installed.
247+
# The components to install.
289248
install.components = []
290249

291-
# Whether to strip the binaries. True for release builds on scikit-build-core
292-
# 0.5+ (0.5-0.10.5 also incorrectly set this for debug builds).
250+
# Whether to strip the binaries.
293251
install.strip = true
294252

295253
# The path (relative to platlib) for the file to generate.
296254
generate[].path = ""
297255

298-
# The template to use for the file. This includes string.Template style
299-
# placeholders for all the metadata. If empty, a template-path must be set.
256+
# The template string to use for the file.
300257
generate[].template = ""
301258

302259
# The path to the template file. If empty, a template must be set.
303260
generate[].template-path = ""
304261

305-
# The place to put the generated file. The "build" directory is useful for CMake
306-
# files, and the "install" directory is useful for Python files, usually. You
307-
# can also write directly to the "source" directory, will overwrite existing
308-
# files & remember to gitignore the file.
262+
# The place to put the generated file.
309263
generate[].location = "install"
310264

311265
# A message to print after a build failure.
@@ -314,15 +268,13 @@ messages.after-failure = ""
314268
# A message to print after a successful build.
315269
messages.after-success = ""
316270

317-
# Add the python build environment site_packages folder to the CMake prefix
318-
# paths.
271+
# Add the python build environment site_packages folder to the CMake prefix paths.
319272
search.site-packages = true
320273

321274
# List dynamic metadata fields and hook locations in this table.
322275
metadata = {}
323276

324-
# Strictly check all config options. If False, warnings will be printed for
325-
# unknown options. If True, an error will be raised.
277+
# Strictly check all config options.
326278
strict-config = true
327279

328280
# Enable early previews of features not finalized yet.
@@ -331,7 +283,7 @@ experimental = false
331283
# If set, this will provide a method for backward compatibility.
332284
minimum-version = "0.11" # current version
333285

334-
# The build directory. Defaults to a temporary directory, but can be set.
286+
# The CMake build directory. Defaults to a unique temporary directory.
335287
build-dir = ""
336288

337289
# Immediately fail the build. This is only useful in overrides.
@@ -386,6 +338,7 @@ Science Foundation.
386338
[codecov-link]: https://codecov.io/gh/scikit-build/scikit-build-core
387339
[conda-badge]: https://img.shields.io/conda/vn/conda-forge/scikit-build-core
388340
[conda-link]: https://github.com/conda-forge/scikit-build-core-feedstock
341+
[conf-ref]: https://scikit-build-core.readthedocs.io/en/latest/reference/configs.html
389342
[discord-badge]: https://img.shields.io/discord/803025117553754132?label=Discord%20chat%20%23scikit-build
390343
[discord-link]: https://discord.gg/pypa
391344
[download-badge]: https://static.pepy.tech/badge/scikit-build-core/month

0 commit comments

Comments
 (0)