lintrunner-adapters
Adapters and tools for lintrunner
What it is and what it does
lintrunner-adapters is a bridge layer that integrates popular linters and formatters from Python, Rust, and C++ ecosystems into lintrunner, a unified linting orchestration tool. It provides CLI commands to run individual adapters and convert lintrunner JSON output to SARIF format for GitHub code scanning. The package depends only on click for its command-line interface, keeping installation lightweight. It's designed to be used within a lintrunner project configuration (via .lintrunner.toml) to standardize how different linting tools are invoked and their results are reported.
The package is actively maintained and positioned as a growing collection of adapters; users can contribute new linter integrations by following the adapter pattern. It supports auto-fix capabilities for tools like ruff and integrates with GitHub Actions workflows for CI/CD pipelines, allowing linting results to appear as code scanning alerts in pull requests.
Use it for:
- Standardize linting across a polyglot codebase by running Python, Rust, and C++ linters through a single configuration file.
- Integrate linting into CI/CD pipelines and display results as GitHub code scanning annotations without manual result parsing.
- Convert lintrunner output to SARIF format for consumption by other analysis or reporting tools.
- Manage auto-fix workflows for tools like ruff within a unified linting orchestration system.
- Reduce boilerplate by reusing pre-built adapters for common linters instead of writing custom integration code.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides adapter integrations for lintrunner, enabling unified execution of popular Python, Rust, and C++ linters and formatters (flake8, pylint, mypy, black, ruff, rustfmt, clippy, clang-format, and others) through a single CLI interface.
Yes, if you are already using lintrunner or planning to adopt it for multi-language linting. The package is actively maintained, has low install friction, carries a permissive MIT license, and addresses a real need for unified linter orchestration. Install it as part of your lintrunner setup; it is not useful standalone.
Install
lintrunner-adapters on PyPI
pip
pip install lintrunner-adaptersuv
uv add lintrunner-adapterspoetry
poetry add lintrunner-adaptersInstalling lintrunner-adapters
Before you install
Low install friction with a single runtime dependency (click). Actively maintained with a recent release (32 days ago) and ongoing repository activity.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install lintrunner-adapters
python -m lintrunner_adapters run
Requires Python 3.9 or later; lintrunner itself must be installed and configured separately via .lintrunner.toml.
Verify before relying
- Whether all listed linters (flake8, pylint, mypy, black, ruff, rustfmt, clippy, clang-format) are fully supported or if some are partial/experimental.
- Performance characteristics when running multiple linters in sequence or parallel.
- Compatibility with specific versions of underlying linters and formatters.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — click |
| Maintenance | actively maintained — 32 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,138,371/month — #4,311 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: lintrunner_adapters-0.14.1-py3-none-any.whl
Keywords: lintrunner, lint, cli, sarif, linting, ci, linter, flake8, clippy, ruff, rustfmt, github-code-scanning
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
lintrunnerLintrunner orchestrates and runs multiple…
unclear · top 5,000 on PyPI
pysenOrchestrates multiple Python linters (black,…
permissive · top 5,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
lintroLintro unifies code formatting, linting, and…
permissive · top 15,000 on PyPI
import-linterImport Linter enforces architectural…
permissive · top 5,000 on PyPI
adaptersAdapters adds parameter-efficient fine-tuning…
permissive · top 15,000 on PyPI
cython-lintA linter for Cython files that checks for…
permissive · top 5,000 on PyPI
flake8-quotesA flake8 plugin that enforces consistent quote…
permissive · top 5,000 on PyPI
rumdlA Rust-based Markdown linter and formatter that…
permissive · top 5,000 on PyPI
dlintDlint is a flake8 plugin that adds…
permissive · top 15,000 on PyPI