Skip to main content

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

Release files for cmeel 0.61.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cmeel 0.61.0
File Size Uploaded
cmeel-0.61.0.tar.gz 15.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cmeel 0.61.0
File Interpreter ABI Platform
cmeel-0.61.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.9 kB

Release files / cmeel-0.61.0.tar.gz

Download URL cmeel-0.61.0.tar.gz
Size 15.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5fe70c905da45cca02575b37b37f22750eee81b36d288e2fc6231c31a6cf4b35
BLAKE2b-256 checksum
How to use checksums
2d787b98621fe4cf98dfee1bc5df514f0fdacfb064637539229c386a09f23b4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.

Transparency log

Release files / cmeel-0.61.0-py3-none-any.whl

Download URL cmeel-0.61.0-py3-none-any.whl
Size 20.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
924f04ac525c1e2c4c42963b3a18a423926d019f81a683dfbab18143721963a8
BLAKE2b-256 checksum
How to use checksums
837f4fe25f742a3dc50335371515e48761207cb8d6f51e55351486dc329ae6b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.61.0 This release

2 release files

0.60.1

2 release files

0.59.0

2 release files

0.58.0

2 release files

0.57.3

2 release files

0.57.2

2 release files

0.54.2

2 release files

0.53.3

2 release files

0.53.2

2 release files

0.53.1

2 release files

0.53.0

2 release files

0.52.1

2 release files

0.50.2

2 release files

0.50.1

2 release files

0.50.0

2 release files

0.46.0

2 release files

0.45.0

2 release files

0.44.1

2 release files

0.44.0

2 release files

0.41.1

2 release files

0.41.0

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.38.0

2 release files

0.32.3

2 release files

0.32.2

2 release files

0.32.1

2 release files

0.32.0

2 release files

0.30.0

2 release files

0.29.0

2 release files

0.28.0

2 release files

0.27.0

2 release files

0.26.0

2 release files

0.25.0

2 release files

0.24.2

2 release files

0.24.1

2 release files

0.24.0

2 release files

0.23.2

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.17.1

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.5

2 release files

0.12.4

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page