skillfed

cmeel

Create Wheel from CMake projects

cmeel v0.60.1 918.2K downloads/30d#4,724 on PyPI27
Permissive license BSD-2-Clause Active released

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 cmeel

uv

uv add cmeel

poetry

poetry add cmeel

Installing 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

Operating System :: MacOSOperating System :: POSIX :: LinuxProgramming Language :: C++Programming Language :: Python :: 3Topic :: Software Development :: Build ToolsTopic :: System :: Archiving :: PackagingTopic :: System :: Software Distribution

Tags

cmake wheel build backendpackage cmake projects as wheelspep 517 cmake builddistribute cmake on pypic++ python wheel packagingcmake to wheel converterbuild system independent cmake
cmakec++-packagingpep-517

More Build Tools packages