cmakelang
Language tools for cmake (format, lint, etc)
Decision gist · record as of 2026-08-14
Yes, if your CMake project is stable and uses syntax from 2020 or earlier. The tool is lightweight, has no security vulnerabilities, and works well for formatting and linting. However, do not adopt it for new projects or if you rely on recent CMake features—the abandonment since August 2020 means no bug fixes or feature updates will arrive. Consider it a snapshot tool suitable for legacy codebases, not an actively maintained dependency.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- The package provides command-line tools primarily; programmatic API details are not specified in the fact sheet.
- Installation is straightforward with low friction—a pure Python wheel with only six as a runtime dependency.
- However, the project is abandoned; the latest release was 2020-08-19 and no updates have been made since.
License · maintenance · safety
GPLv3 (copyleft) — Licensed under GPLv3 (copyleft). Any derivative work or distribution must also be licensed under GPLv3, which may restrict use in proprietary or closed-source projects.
last release 2020-08-19 (2186 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,099,209 downloads/mo, #4,372 on PyPI
Alternatives
Verify before relying
pip install cmakelang
from cmakelang import cmake_format
# Then use cmake-format, cmake-lint, cmake-annotate, or ctest-to from the command line- Whether the package's programmatic API is stable and documented for direct Python imports
- Current compatibility with modern CMake versions and syntax
- Whether abandonment has led to unresolved bugs or incompatibilities in recent CMake projects
What it is and what it does
cmakelang is a suite of QA tools for CMake listfiles, offering formatting, linting, annotation, and ctest output parsing. It includes cmake-format to reformat CMake code according to configurable rules, cmake-lint to check for problems, cmake-annotate to generate HTML documentation, and ctest-to to convert test output to structured formats. Configuration is flexible, accepting YAML, JSON, or Python files, and the tool can automatically discover configuration in parent directories.
The package depends only on six and installs as a pure Python wheel, making it lightweight to add to a build pipeline. However, the project has been abandoned since August 2020, with no maintenance or updates since its initial release. This means it may not support newer CMake syntax or features, and any bugs discovered will not be fixed.
Use it for
- Enforce consistent CMake code style across a project by running cmake-format in CI/CD pipelines
- Detect common CMake mistakes and anti-patterns using cmake-lint as a pre-commit hook
- Generate HTML documentation from CMake listfiles with cmake-annotate for project reference
- Parse and convert ctest output to JSON or XML for integration with test reporting systems
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if your CMake project is stable and uses syntax from 2020 or earlier.
The tool is lightweight, has no security vulnerabilities, and works well for formatting and linting. However, do not adopt it for new projects or if you rely on recent CMake features—the abandonment since August 2020 means no bug fixes or feature updates will arrive. Consider it a snapshot tool suitable for legacy codebases, not an actively maintained dependency.
Install
cmakelang on PyPI
Before you install
Installation is straightforward with low friction—a pure Python wheel with only six as a runtime dependency. However, the project is abandoned; the latest release was 2020-08-19 and no updates have been made since.
The package provides command-line tools primarily; programmatic API details are not specified in the fact sheet.
License in practice
Licensed under GPLv3 (copyleft). Any derivative work or distribution must also be licensed under GPLv3, which may restrict use in proprietary or closed-source projects.
Quickstart
pip install cmakelang
from cmakelang import cmake_format
# Then use cmake-format, cmake-lint, cmake-annotate, or ctest-to from the command line
Verify before relying
- Whether the package's programmatic API is stable and documented for direct Python imports
- Current compatibility with modern CMake versions and syntax
- Whether abandonment has led to unresolved bugs or incompatibilities in recent CMake projects
Package facts
| License | GPLv3 copyleft |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagesix |
| Maintenance | Abandoned 2,186 days since the last release |
| First released | |
| Downloads | 1,099,209 / month, #4,372 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: GNU General Public License v3 (GPLv3) |
Evidence: cmakelang-0.6.13-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “cmake code quality”
- cmakelangProvides command-line tools to format, lint, and annotate CMake…
- cmake-formatFormats, lints, and annotates CMake listfiles, and converts ctest…
- cmakelintcmakelint parses CMake files and reports style violations across…
Give your agent the search over MCP, or paste the wish link into any chat.
More Quality Assurance packages
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.
pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.
Install it if your test suite takes long enough that parallelization would save meaningful time.
Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.
Install it if you work with CloudFormation templates.
See also cmake-format · cmakelint · gersemi · cmake · toml-sort · pytest-cmake · flake8-formatter-junit-xml · EditorConfig · yamllint · flake8-noqa