py-build-cmake

Contents

py-build-cmake#

Documentation for tttapa/py-build-cmake, a modern build backend for creating Python packages with extensions built using CMake.

Features#

Native packages

Create Python packages that use CMake to build performant C, C++ and Fortran extension modules.

Declarative configuration

Standard pyproject.toml configuration file (PEP 621) for metadata and options.

Editable development installations

Editable installation (PEP 660) and automatic re-builds for effective development.

Python bindings generation

Seamless integration with pybind11, nanobind, and SWIG, with stable ABI support.

Customizable CMake options

Configurable options for the configuration, compilation and installation of your project.

Multi-configuration support

Install multiple CMake configurations and components, possibly accross different Wheel packages.

First-class cross-compilation

Build for a wide range of platforms, including Raspberry Pi, Windows on ARM, Intel and ARM64 macOS.

Reproducible builds

Reproducible builds for both source distributions and Wheel packages.

Continuous integration

Simple continuous integration setup with cibuildwheel for building and publishing packages.