Type object
Schema URL https://catalog.lintel.tools/schemas/schemastore/pyproject/_shared/latest--partial-scikit-build.json
Parent schema pyproject
Type: object

Scikit-build-core's settings.

Properties

cmake object
8 nested properties
minimum-version string

DEPRECATED in 0.8; use version instead.

version string

The versions of CMake to allow. If CMake is not present on the system or does not pass this specifier, it will be downloaded via PyPI if possible. An empty string will disable this check. The default on 0.10+ is "CMakeLists.txt", which will read it from the project's CMakeLists.txt file, or ">=3.15" if unreadable or <0.10.

args string[]

A list of args to pass to CMake when configuring the project. Setting this in config or envvar will override toml. See also cmake.define.

define object

A table of defines to pass to CMake when configuring the project. Additive.

verbose boolean

DEPRECATED in 0.10, use build.verbose instead.

build-type string

The build type to use when building the project. Valid options are: "Debug", "Release", "RelWithDebInfo", "MinSizeRel", "", etc.

Default: "Release"
source-dir string

The source directory to use when building the project. Currently only affects the native builder (not the setuptools plugin).

Default: "."
targets string[]

DEPRECATED in 0.10; use build.targets instead.

ninja object
3 nested properties
minimum-version string

DEPRECATED in 0.8; use version instead.

version string

The versions of Ninja to allow. If Ninja is not present on the system or does not pass this specifier, it will be downloaded via PyPI if possible. An empty string will disable this check.

Default: ">=1.5"
make-fallback boolean

If Ninja is not present on the system or is older than required, it will be downloaded via PyPI if this is false.

Default: true
logging object
1 nested properties
level enum

The logging level to display, "DEBUG", "INFO", "WARNING", and "ERROR" are possible options.

Default: "WARNING"
Values: "NOTSET" "DEBUG" "INFO" "WARNING" "ERROR" "CRITICAL"
sdist object
4 nested properties
include string[]

Files to include in the SDist even if they are skipped by default. Supports gitignore syntax.

exclude string[]

Files to exclude from the SDist even if they are included by default. Supports gitignore syntax.

reproducible boolean

If set to True, try to build a reproducible distribution (Unix and Python 3.9+ recommended). SOURCE_DATE_EPOCH will be used for timestamps, or a fixed value if not set.

Default: true
cmake boolean

If set to True, CMake will be run before building the SDist.

Default: false
wheel object
9 nested properties
packages string[] | object

A list of packages to auto-copy into the wheel. If this is not set, it will default to the first of src/<package>, python/<package>, or <package> if they exist. The prefix(s) will be stripped from the package name inside the wheel. If a dict, provides a mapping of package name to source directory.

py-api string

The Python tags. The default (empty string) will use the default Python version. You can also set this to "cp37" to enable the CPython 3.7+ Stable ABI / Limited API (only on CPython and if the version is sufficient, otherwise this has no effect). Or you can set it to "py3" or "py2.py3" to ignore Python ABI compatibility. The ABI tag is inferred from this tag.

Default: ""
expand-macos-universal-tags boolean

Fill out extra tags that are not required. This adds "x86_64" and "arm64" to the list of platforms when "universal2" is used, which helps older Pip's (before 21.0.1) find the correct wheel.

Default: false
install-dir string

The install directory for the wheel. This is relative to the platlib root. You might set this to the package name. The original dir is still at SKBUILD_PLATLIB_DIR (also SKBUILD_DATA_DIR, etc. are available). EXPERIMENTAL: An absolute path will be one level higher than the platlib root, giving access to "/platlib", "/data", "/headers", and "/scripts".

Default: ""
license-files string[]

A list of license files to include in the wheel. Supports glob patterns.

cmake boolean

If set to True (the default), CMake will be run before building the wheel.

Default: true
platlib boolean

Target the platlib or the purelib. If not set, the default is to target the platlib if wheel.cmake is true, and the purelib otherwise.

exclude string[]

A set of patterns to exclude from the wheel. This is additive to the SDist exclude patterns. This applies to the final paths in the wheel, and can exclude files from CMake output as well. Editable installs may not respect this exclusion.

build-tag string

The build tag to use for the wheel. If empty, no build tag is used.

Default: ""
backport object
1 nested properties
find-python string

If CMake is less than this value, backport a copy of FindPython. Set to 0 disable this, or the empty string.

Default: "3.26.1"
editable object
3 nested properties
mode enum

Select the editable mode to use. Can be "redirect" (default) or "inplace".

Default: "redirect"
Values: "redirect" "inplace"
verbose boolean

Turn on verbose output for the editable mode rebuilds.

Default: true
rebuild boolean

Rebuild the project when the package is imported. The build-directory must be set.

Default: false
build object
3 nested properties
tool-args string[]

Extra args to pass directly to the builder in the build step.

targets string[]

The build targets to use when building the project. Empty builds the default target.

verbose boolean

Verbose printout when building.

Default: false
install object
2 nested properties
components string[]

The components to install. If empty, all default components are installed.

strip boolean

Whether to strip the binaries. True for scikit-build-core 0.5+.

generate object | object[]
messages object
2 nested properties
after-failure string

A message to print after a build failure.

Default: ""
after-success string

A message to print after a successful build.

Default: ""
metadata object

List dynamic metadata fields and hook locations in this table.

15 nested properties
version object
2 nested properties
provider string
provider-path string
description object
2 nested properties
provider string
provider-path string
license object
2 nested properties
provider string
provider-path string
readme object
2 nested properties
provider string
provider-path string
requires-python object
2 nested properties
provider string
provider-path string
dependencies object
2 nested properties
provider string
provider-path string
optional-dependencies object
2 nested properties
provider string
provider-path string
entrypoints object
2 nested properties
provider string
provider-path string
authors object
2 nested properties
provider string
provider-path string
maintainers object
2 nested properties
provider string
provider-path string
urls object
2 nested properties
provider string
provider-path string
classifiers object
2 nested properties
provider string
provider-path string
keywords object
2 nested properties
provider string
provider-path string
scripts object
2 nested properties
provider string
provider-path string
gui-scripts object
2 nested properties
provider string
provider-path string
strict-config boolean

Strictly check all config options. If False, warnings will be printed for unknown options. If True, an error will be raised.

Default: true
experimental boolean

Enable early previews of features not finalized yet.

Default: false
minimum-version string

If set, this will provide a method for backward compatibility.

build-dir string

The build directory. Defaults to a temporary directory, but can be set.

Default: ""
fail boolean

Immediately fail the build. This is only useful in overrides.

Default: false
overrides object[]

A list of overrides to apply to the settings, based on the if selector.

Definitions

metadata object
provider string
provider-path string
if_overrides object
scikit-build-version string

The version of scikit-build-version. Takes a specifier set.

python-version string

The two-digit Python version. Takes a specifier set.

implementation-name string

The value of sys.implementation.name. Takes a regex

implementation-version string

Derived from sys.implementation.version, following PEP 508. Takes a specifier set.

platform-system string

The value of sys.platform. Takes a regex.

platform-machine string

The value of platform.machine(). Takes a regex.

platform-node string

The value of platform.node(). Takes a regex.

state string

The state of the build, one of sdist, wheel, editable, metadata_wheel, and metadata_editable. Takes a regex.

from-sdist boolean

Whether the build is from an sdist.

failed boolean

Matches if the build fails. A build will be retried if there is at least one matching override with this set to true.

system-cmake string

The version of CMake found on the system. Takes a specifier set.

cmake-wheel boolean

Whether a cmake wheel is known to be provided for this system.

abi-flags string

A sorted string of the abi flags. Takes a regex.

env object

A table of environment variables mapped to either string regexs, or booleans. Valid 'truthy' environment variables are case insensitive true, on, yes, y, t, or a number more than 0.

inherit enum