$npx skillfedfor your agent

scikit-build-core

Build backend for CMake based projects

Worth itPyPI Scientific/EngineeringReleased Jul 202611.2M downloads / moApache-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — scikit_build_core-1.0.3-py3-none-any.whl
v1.0.3 · released 2026-07-12 · Python >=3.8 · 6 runtime deps: exceptiongroup, importlib-resources, packaging, pathspec, tomli, typing-extensions

Yes. Scikit-build-core is production-stable (Development Status 5), actively maintained, has no known vulnerabilities, and low install friction. It is the right choice if your project uses CMake and you want to avoid setuptools complexity. Install it as a build-system requirement in pyproject.toml, not as a runtime dependency—it does not affect end users.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires CMake 3.15 or later and Python 3.8+; system C/C++ compiler and CMake must be available or will be installed as build dependencies.
  • Low installation friction with only six runtime dependencies (packaging, pathspec, tomli, typing-extensions, importlib-resources, exceptiongroup).
  • Active maintenance with a release 33 days ago.

License · maintenance · safety

Apache-2.0 (permissive) — Apache-2.0 permissive license allows use in commercial and proprietary projects with minimal restrictions, requiring only license and copyright notice attribution.

last release 2026-07-12 (33 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 11,249,544 downloads/mo, #1,404 on PyPI

Verify before relying

# In pyproject.toml
[build-system]
requires = ["scikit-build-core"]
build-backend = "scikit_build_core.build"

[project]
name = "my_package"
version = "0.0.1"
  • Actual build performance and caching behavior compared to alternative approaches in real-world projects.
  • Completeness of Hatchling and Setuptools integration backends and their stability relative to the native pyproject builder.
  • Practical experience with the experimental auto-rebuild-on-import feature for development workflows.
Same gist for agents: .md · .json

What it is and what it does

Scikit-build-core is a modern Python build backend that replaces setuptools for projects using CMake to compile native extensions. Instead of writing thousands of lines of setuptools/distutils configuration, you write a simple CMakeLists.txt and configure the build in pyproject.toml. It automatically manages CMake and Ninja as build dependencies, handles cross-compilation for Apple Silicon and Windows ARM, and supports C++, Fortran, and other languages.

The package targets scientific computing but works for any CMake-based project. It includes features like reproducible builds, editable mode with optional auto-rebuild, WebAssembly support, and free-threaded Python 3.13+ compatibility. Configuration is flexible via pyproject.toml, command-line options, or environment variables, with sensible defaults that avoid slow generator search and verbose logging.

Use it for

  • Building scientific packages with C/C++ extensions that need cross-platform compilation and Fortran support.
  • Creating Python packages with complex native code where CMake tooling is already established.
  • Developing WebAssembly packages for Pyodide or Emscripten without setuptools boilerplate.
  • Maintaining reproducible builds for distribution, with opt-in SDist and wheel reproducibility.
  • Migrating from classic Scikit-build while gaining modern Python packaging standards and better error messages.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

Scikit-build-core is production-stable (Development Status 5), actively maintained, has no known vulnerabilities, and low install friction. It is the right choice if your project uses CMake and you want to avoid setuptools complexity. Install it as a build-system requirement in pyproject.toml, not as a runtime dependency—it does not affect end users.

Install

scikit-build-core on PyPI

Before you install

Low installation friction with only six runtime dependencies (packaging, pathspec, tomli, typing-extensions, importlib-resources, exceptiongroup). Active maintenance with a release 33 days ago. Designed as a build-time tool, so it does not burden runtime environments.

Requires CMake 3.15 or later and Python 3.8+; system C/C++ compiler and CMake must be available or will be installed as build dependencies.

License in practice

Apache-2.0 permissive license allows use in commercial and proprietary projects with minimal restrictions, requiring only license and copyright notice attribution.

Quickstart

# In pyproject.toml
[build-system]
requires = ["scikit-build-core"]
build-backend = "scikit_build_core.build"

[project]
name = "my_package"
version = "0.0.1"

Verify before relying

  • Actual build performance and caching behavior compared to alternative approaches in real-world projects.
  • Completeness of Hatchling and Setuptools integration backends and their stability relative to the native pyproject builder.
  • Practical experience with the experimental auto-rebuild-on-import feature for development workflows.

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release >=3.8
Install frictionLow. Pure-Python wheel
Runtime dependencies
6 packages
exceptiongroupimportlib-resourcespackagingpathspectomlityping-extensions
MaintenanceActively maintained 33 days since the last release
First released
Downloads11,249,544 / month, #1,404 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Free Threading :: 4 - ResilientTopic :: Scientific/EngineeringTopic :: Software Development :: Build ToolsTyping :: Typed

Evidence: scikit_build_core-1.0.3-py3-none-any.whl

Tags

Capabilities
cmake python build backendc++ extension module builderpython package compilation cmakebuild system for native extensionspyproject.toml cmake buildercross-platform extension buildingnative extension compilation
Topics
cmakenative-extensionsbuild-backend

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “c++ extension module builder”

  • scikit-build-coreA build backend that uses CMake to compile Python extension modules…
  • sipSIP generates Python bindings for C and C++ libraries by processing…
  • ccimportccimport builds Python C++ bindings on-the-fly using pybind11 and…

Give your agent the search over MCP, or paste the wish link into any chat.

More Scientific/Engineering packages

numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
pandas Worth it
PyPI · Scientific/Engineering · released Jul 2026

pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.

BSD-3-Clausecompiled wheel · 3.11+
769.1Mdownloads / mo
scipy Worth it
PyPI · Libraries · released Jun 2026

scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.

BSD-3-Clausecompiled wheel · 3.12+
449.0Mdownloads / mo
scikit-learn Worth it
PyPI · Software Development · released Jun 2026

scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.

Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.

BSD-3-Clausecompiled wheel · 3.11+
235.5Mdownloads / mo
dill Worth it
PyPI · Software Development · released Jan 2026

dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.

BSD-3-Clausepure Python · 3.9+
208.1Mdownloads / mo
multiprocess Worth it
PyPI · Software Development · released Jan 2026

Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.

Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.

BSD-3-Clausepure Python · 3.9+
202.7Mdownloads / mo

See also scikit-build · cmake · meson · hatch-cython · cmeel · conan · build · ninja · pytest-cmake · SCons