CLI Reference

Scikit-build-core has a few integrated CLI tools. These are not guaranteed to be stable between releases yet, but can still be useful to investigate your environment.

A top level CLI is not currently provided for scikit-build-core.
However, the following modules have CLI utilities:
  python -m scikit_build_core.build requires       Get the build requirements
  python -m scikit_build_core.build project-table  Get the project table (with dynamic metadata)
  python -m scikit_build_core.builder              Info about the system
  python -m scikit_build_core.builder.wheel_tag    Info about the computed wheel tag
  python -m scikit_build_core.builder.sysconfig    Info from sysconfig
  python -m scikit_build_core.file_api.query       Request CMake file API
  python -m scikit_build_core.file_api.reply       Process CMake file API

Build utilities

usage: python -m scikit_build_core.build [-h] {requires,project-table} ...

Build backend utilities.

positional arguments:
  {requires,project-table}
                        Commands
    requires            Get the build requirements
    project-table       Get the full project table, including dynamic metadata

options:
  -h, --help            show this help message and exit

Build requirements

usage: python -m scikit_build_core.build requires [-h]
                                                  [--mode {sdist,wheel,editable}]

Includes the static build requirements, the dynamically generated ones, and
dynamic-metadata ones.

options:
  -h, --help            show this help message and exit
  --mode {sdist,wheel,editable}
                        The build mode to get the requirements for

Example:

$ python -m scikit_build_core.build requires
[
  "cmake>=3.15",
  "ninja>=1.5",
  "scikit-build-core"
]

Project table

usage: python -m scikit_build_core.build project-table [-h]

Processes static and dynamic metadata without triggering the backend, only
handles scikit-build-core's dynamic metadata.

options:
  -h, --help  show this help message and exit

Example:

$ python -m scikit_build_core.build project-table
{
  "name": "example",
  "version": "0.0.1"
}

Building environment info

usage: python -m scikit_build_core.builder.wheel_tag [-h]
                                                     [--archs [ARCHS ...]]
                                                     [--abi ABI] [--purelib]

Get the computed wheel tag for the current environment.

options:
  -h, --help           show this help message and exit
  --archs [ARCHS ...]  Specify one or more archs (macOS only currently)
  --abi ABI            Specify py-api, like 'cp38' or 'py3'
  --purelib            Specify a non-platlib (pure) tag

Example:

$ python -m scikit_build_core.builder.wheel_tag
cp311-cp311-linux_x86_64

File API tools

usage: python -m scikit_build_core.file_api.query [-h] build_dir

Write a stateless query to a build directory

positional arguments:
  build_dir   Path to the build directory

options:
  -h, --help  show this help message and exit
usage: python -m scikit_build_core.file_api.reply [-h] reply_dir

Read a query written out to a build directory.

positional arguments:
  reply_dir   Path to the reply directory

options:
  -h, --help  show this help message and exit