cmeel
Create Wheel from CMake projects
What it is and what it does
cmeel bridges CMake-based C++ projects and Python's packaging ecosystem by acting as a PEP 517 build backend. Instead of writing custom setup.py or setup.cfg, you declare your CMake project in pyproject.toml and cmeel handles the build, test, and wheel creation. It installs CMake artifacts into a namespaced directory within the Python site-packages, making dependencies discoverable to downstream CMake builds.
The package is designed for teams maintaining C++ libraries or tools that want to distribute them on PyPI without maintaining dual build systems. It follows modern Python packaging standards (PEP 517, 518, 621, 660) and supports editable installs for development workflows. Runtime dependencies are minimal—only tomli for TOML parsing—keeping installation lightweight.
Use it for:
- Package a C++ library with Python bindings as a single wheel for distribution on PyPI.
- Build a CMake-based command-line tool and expose its executables through Python entry points.
- Create a dependency chain where one cmeel package depends on another, with CMake automatically finding transitive dependencies.
- Develop a hybrid project locally with editable installs while maintaining a single CMake build system.
- Distribute platform-specific binaries for MacOS and POSIX Linux as wheels without manual platform tagging.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
cmeel is a PEP 517 build backend that packages CMake projects as Python wheels for distribution on PyPI.
Yes, if you maintain a CMake project and want to distribute it on PyPI without duplicating build logic. The low install friction, active maintenance, permissive license, and zero known vulnerabilities make it a solid choice. Not applicable if your project is pure Python or uses a different build system.
Install
cmeel on PyPI
pip
pip install cmeeluv
uv add cmeelpoetry
poetry add cmeelInstalling cmeel
Before you install
Low friction: single pure-Python dependency (tomli), distributed as a wheel. Active maintenance with recent commits and no known vulnerabilities. Requires Python 3.9 or later.
License in practice
BSD-2-Clause is permissive; you can use, modify, and distribute cmeel-packaged projects with minimal restrictions, provided you retain the license notice.
Quickstart
# In pyproject.toml of a CMake project:
[build-system]
build-backend = "cmeel"
requires = ["cmeel[build]"]
# Then build with:
pip install --build-backend cmeel .
Requires CMake and a C++ compiler to build projects; Python 3.9 or later required.
Verify before relying
- Whether cmeel handles all CMake project configurations or has known limitations with specific build patterns.
- Performance characteristics when packaging large or complex CMake projects.
- Compatibility with Windows builds (classifiers list MacOS and POSIX Linux only).
Package facts
| License | BSD-2-Clause (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — tomli |
| Maintenance | actively maintained — 95 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 918,215/month — #4,724 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cmeel-0.60.1-py3-none-any.whl
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
cmeel-boostProvides pre-built Boost 1.90.0 C++ libraries…
unclear · top 5,000 on PyPI
wheywhey is a PEP 517 build backend that creates…
permissive · top 15,000 on PyPI
cmeel-console-bridgeProvides a Python distribution of…
permissive · top 15,000 on PyPI
cmeel-zlibProvides zlib 1.3.2 as a pre-built wheel for…
permissive · top 15,000 on PyPI
tippecanoePackages the tippecanoe command-line tool as a…
permissive · top 15,000 on PyPI
swigProvides SWIG as a PyPI-installable package,…
copyleft · top 5,000 on PyPI
wheelA command-line tool for inspecting, converting,…
permissive · top 100 on PyPI
cmeel-tinyxmlProvides a Python-packaged distribution of…
unclear · top 15,000 on PyPI
cmeel-tinyxml2Provides a Python-packaged distribution of…
permissive · top 15,000 on PyPI
buildBuilds Python packages in isolated…
permissive · top 1,000 on PyPI