Home

Awesome

CMake Wheel: cmeel

PyPI version pre-commit.ci status Documentation Status

Code style: black Poetry Ruff

Wheel build backend using CMake, to package any CMake project with pip and distribute on PyPI.

Following those relevant PEPs:

Chat

https://matrix.to/#/#cmake-wheel:matrix.org

Basic idea

Glue between PEP 517 & 660 entry points and modern CMake standard project configuration / build / test / install

This Install in ${PYTHON_SITELIB}/cmeel.prefix/:

Basic pyproject.toml example

extract from https://github.com/cmake-wheel/cmeel-example/blob/main/pyproject.toml:

[project]
name = "cmeel-example"
version = "0.4.12"
description = "This is an example project, to show how to use cmeel"
requires-python = ">= 3.7"
license = "BSD-2-Clause"
authors = [{name = "Guilhem Saurel", email = "guilhem.saurel@laas.fr"}]

[project.urls]
homepage = "https://github.com/cmake-wheel/cmeel-example"
repository = "https://github.com/cmake-wheel/cmeel-example.git"
changelog = "https://github.com/cmake-wheel/cmeel-example/blob/main/CHANGELOG.md"

[build-system]
requires = ["cmeel[build]"]
build-backend = "cmeel"

Complete specification is available at: https://packaging.python.org/en/latest/specifications/declaring-project-metadata

Install

If you want to use the helpers provided by cmeel, to eg. test building a project in a manylinux container with cmeel docker, the best way to install cmeel is to use pipx: pipx install cmeel

Otherwise, if you just want to use the build backend, there is no need to install anything: your frontent (eg. pip) should do this for you