cmeel 0.59.0


pip install cmeel

  Latest version

Released: Jan 19, 2026


Meta
Author: Guilhem Saurel
Requires Python: >=3.9

Classifiers

Operating System
  • MacOS
  • POSIX :: Linux

Programming Language
  • C++
  • Python :: 3

Topic
  • Software Development :: Build Tools
  • System :: Archiving :: Packaging
  • System :: Software Distribution

CMake Wheel: cmeel

PyPI version pre-commit.ci status Documentation Status

Ruff uv

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

Following those relevant PEPs:

  • PEP 427, The Wheel Binary Package Format 1.0
  • PEP 517, A build-system independent format for source trees
  • PEP 518, Specifying Minimum Build System Requirements for Python Projects
  • PEP 600, Future ‘manylinux’ Platform Tags for Portable Linux Built Distributions
  • PEP 621, Storing project metadata in pyproject.toml
  • PEP 639, Improving License Clarity with Better Package Metadata
  • PEP 660, Editable installs for pyproject.toml based builds (wheel based)

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, and install in ${PYTHON_SITELIB}/cmeel.prefix/:

  • As there is a dot, it is not a valid python module name, so no risk of importing anything there by mistake
  • Play well with others, as everything is confined to ${PYTHON_SITELIB}/cmeel.prefix
  • ${PYTHON_SITELIB}/cmeel.pth automatically load ${PYTHON_SITELIB}/cmeel.prefix/${PYTHON_SITELIB}, so python packages work out of the box
  • Existing ${PYTHON_SITELIB}/cmeel.prefix are automatically added to $CMAKE_PREFIX_PATH, so we can build CMake packages whose dependencies are provided by other packages installed with cmeel
  • Stuff in ${PYTHON_SITELIB}/cmeel.prefix/bin is exposed via cmeel.run:cmeel_run, or copied if start with a shebang

Basic pyproject.toml example

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

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

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

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

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

0.59.0 Jan 19, 2026
0.58.0 Jan 17, 2026
0.57.3 Mar 19, 2025
0.57.2 Mar 19, 2025
0.57.1 Feb 05, 2025
0.57.0 Feb 05, 2025
0.56.0 Jan 03, 2025
0.55.0 Jan 03, 2025
0.54.2 Dec 31, 2024
0.53.3 Dec 15, 2023
0.53.2 Dec 12, 2023
0.53.1 Dec 11, 2023
0.53.0 Nov 30, 2023
0.52.1 Nov 21, 2023
0.51.1 Nov 07, 2023
0.50.2 Aug 16, 2023
0.50.1 Aug 16, 2023
0.50.0 Aug 16, 2023
0.49.0 Aug 07, 2023
0.48.1 Aug 04, 2023
0.47.1 Aug 04, 2023
0.46.0 Jun 29, 2023
0.45.0 May 30, 2023
0.44.1 May 20, 2023
0.44.0 May 19, 2023
0.43.1 May 03, 2023
0.43.0 May 03, 2023
0.42.1 May 02, 2023
0.42.0 May 01, 2023
0.41.1 Apr 27, 2023
0.41.0 Apr 27, 2023
0.40.0 Apr 26, 2023
0.39.0 Apr 21, 2023
0.38.0 Apr 18, 2023
0.37.0 Apr 05, 2023
0.36.0 Apr 05, 2023
0.35.0 Mar 07, 2023
0.34.1 Mar 06, 2023
0.34.0 Mar 06, 2023
0.33.0 Mar 06, 2023
0.32.3 Feb 28, 2023
0.32.2 Feb 28, 2023
0.32.1 Feb 27, 2023
0.32.0 Feb 24, 2023
0.31.0 Feb 04, 2023
0.30.0 Jan 31, 2023
0.29.0 Jan 30, 2023
0.28.0 Jan 24, 2023
0.27.0 Jan 24, 2023
0.26.0 Jan 24, 2023
0.25.0 Jan 24, 2023
0.24.2 Jan 24, 2023
0.24.1 Jan 24, 2023
0.24.0 Jan 23, 2023
0.23.2 Dec 30, 2022
0.23.0 Dec 10, 2022
0.22.0 Nov 18, 2022
0.21.0 Oct 21, 2022
0.20.0 Oct 21, 2022
0.19.0 Oct 13, 2022
0.18.0 Oct 04, 2022
0.17.1 Sep 22, 2022
0.16.0 Sep 22, 2022
0.15.0 Sep 21, 2022
0.14.0 Aug 10, 2022
0.13.3 Aug 10, 2022
0.13.2 Aug 10, 2022
0.13.1 Aug 10, 2022
0.13.0 Aug 10, 2022
0.12.5 Jul 30, 2022
0.12.4 Jul 30, 2022
0.12.3 Jul 30, 2022
0.12.2 Jul 30, 2022
0.12.1 Jul 30, 2022
0.12.0 Jul 30, 2022
0.11.0 Jul 30, 2022
0.10.1 Jul 30, 2022
0.10.0 Jul 17, 2022
0.9.0 May 31, 2022
0.8.0 May 28, 2022
0.7.0 May 28, 2022
0.6.2 May 06, 2022
0.6.1 May 06, 2022
0.6.0 May 06, 2022
0.5.2 May 02, 2022
0.5.1 May 02, 2022
0.5.0 May 02, 2022
0.4.2 Apr 19, 2022
0.4.1 Apr 19, 2022
0.4.0 Apr 19, 2022
0.3.0 Apr 18, 2022

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras:
Dependencies:
tomli (>=2.1.0)