scikit_build_core.builder package#

The items in this module are general tools for building wheels, useful by both the build backend and plugins.

Submodules#

scikit_build_core.builder.builder module#

class scikit_build_core.builder.builder.Builder(settings, config)[source]#

Bases: object

build(build_args)[source]#
Return type:

None

config: CMaker#
configure(*, defines, cache_entries=None, name=None, version=None, limited_abi=None, configure_args=())[source]#
Return type:

None

get_cmake_args()[source]#

Get CMake args from the settings and environment.

Return type:

list[str]

install(install_dir)[source]#
Return type:

None

settings: ScikitBuildSettings#
scikit_build_core.builder.builder.archs_to_tags(archs)[source]#

Convert a list of architectures to a list of tags (e.g. “universal2”).

Return type:

list[str]

scikit_build_core.builder.builder.get_archs(env, cmake_args=())[source]#

Takes macOS platform settings and returns a list of platforms.

Return type:

list[str]

Example (macOS):

ARCHFLAGS=”-arch x86_64” -> [“x86_64”] ARCHFLAGS=”-arch x86_64 -arch arm64” -> [“x86_64”, “arm64”]

Returns an empty list otherwise or if ARCHFLAGS is not set.

scikit_build_core.builder.generator module#

scikit_build_core.builder.generator.set_environment_for_gen(cmake, env, ninja_settings)[source]#

This function modifies the environment as needed to safely set a generator.

A reasonable default generator is set if the environment does not already have one set; if ninja is present, ninja will be used over make on Unix.

Return type:

Mapping[str, str]

scikit_build_core.builder.get_requires module#

class scikit_build_core.builder.get_requires.GetRequires(config_settings=None)[source]#

Bases: object

cmake()[source]#
Return type:

Generator[str, None, None]

config_settings: Optional[Mapping[str, list[str] | str]] = None#
dynamic_metadata()[source]#
Return type:

Generator[str, None, None]

ninja()[source]#
Return type:

Generator[str, None, None]

property settings: ScikitBuildSettings#

scikit_build_core.builder.macos module#

class scikit_build_core.builder.macos.MacOSVer(major, minor)[source]#

Bases: NamedTuple

major: int#

Alias for field number 0

minor: int#

Alias for field number 1

scikit_build_core.builder.macos.get_macosx_deployment_target(*, arm)[source]#

Get the MACOSX_DEPLOYMENT_TARGET environment variable. If not set, use the current macOS version. If arm=True, then this will always return at least (11, 0). Versions after 11 will be normalized to 0 for minor version.

Return type:

MacOSVer

scikit_build_core.builder.macos.normalize_macos_version(version, *, arm)[source]#

Set minor version to 0 if major is 11+.

Return type:

MacOSVer

scikit_build_core.builder.sysconfig module#

scikit_build_core.builder.sysconfig.get_cmake_platform(env)[source]#

Return the CMake platform name for a platform, respecting VSCMD_ARG_TGT_ARCH.

Return type:

str

scikit_build_core.builder.sysconfig.get_numpy_include_dir()[source]#
Return type:

Optional[Path]

scikit_build_core.builder.sysconfig.get_python_include_dir()[source]#
Return type:

Path

scikit_build_core.builder.sysconfig.get_python_library(env, *, abi3=False)[source]#
Return type:

Optional[Path]

scikit_build_core.builder.sysconfig.get_soabi(env, *, abi3=False)[source]#
Return type:

str

scikit_build_core.builder.wheel_tag module#

class scikit_build_core.builder.wheel_tag.WheelTag(pyvers, abis, archs)[source]#

Bases: object

property abi: str#
abis: list[str]#
property arch: str#
archs: list[str]#
as_tags_set()[source]#
Return type:

frozenset[Tag]

classmethod compute_best(archs, py_api='', *, expand_macos=False)[source]#
Return type:

Self

property pyver: str#
pyvers: list[str]#
tags_dict()[source]#
Return type:

dict[str, list[str]]