lintro
A unified CLI tool for code formatting, linting, and quality assurance
What it is and what it does
Lintro is a unified CLI wrapper that runs multiple code quality tools—linters, formatters, type checkers, and security scanners—across Python, JavaScript, Go, Rust, YAML, and other languages, all from a single command. Instead of maintaining separate configurations and invocations for ruff, prettier, mypy, clippy, and a dozen other tools, you run `lintro check .` or `lintro format .` and get consistent, standardized output (grid, JSON, HTML, CSV, or Markdown) across all of them.
It respects your existing tool configurations (.prettierrc, pyproject.toml, .yamllint, etc.) without requiring migration, auto-fixes issues where tools support it, and includes optional AI-powered summaries and fix suggestions (with your own API key). The package is actively maintained, requires Python 3.11+, and depends on well-established libraries like click, pydantic, rich, and httpx. External tools are detected on PATH or can be auto-installed; a Docker image is also available for isolated environments.
Use it for:
- Run all linters and formatters on a codebase in one command instead of invoking each tool separately.
- Enforce consistent code quality across multiple languages in a monorepo with a single configuration layer.
- Generate standardized, human-readable reports (grid, JSON, HTML) from all tools at once for CI/CD pipelines.
- Auto-fix formatting and linting issues across Python, JavaScript, Go, Rust, and other languages in one pass.
- Integrate pre-commit hooks or GitHub Actions workflows that check code quality without tool-specific boilerplate.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Lintro unifies code formatting, linting, and quality assurance tools across multiple languages under a single CLI, with support for Python, JavaScript, Go, Rust, YAML, and others.
Yes. Lintro is actively maintained, has low install friction (pure Python, no compiled deps), carries a permissive MIT license, and solves a real problem—unifying disparate linting and formatting tools under one interface. It's in beta (Development Status 4) and relatively young (first release 2025-08-17), so expect occasional rough edges, but the design is sound and the dependency chain is solid. Install it if you manage code quality across multiple languages or want to simplify CI/CD tool orchestration.
Install
lintro on PyPI
pip
pip install lintrouv
uv add lintropoetry
poetry add lintroInstalling lintro
Before you install
Low friction: pure Python wheel with no compiled dependencies. Active maintenance (released 2026-08-14, first release 2025-08-17). Requires Python 3.11+. Eleven runtime dependencies are all well-established packages (click, pydantic, rich, httpx, etc.), none of which introduce significant friction.
License in practice
MIT license (permissive) means you can use, modify, and distribute lintro freely in commercial and private projects with minimal restrictions—only attribution required.
Quickstart
pip install lintro
lintro check .
lintro format .
Requires Python 3.11 or later. External linting/formatting tools (ruff, prettier, mypy, etc.) must be installed separately or via `lintro install --profile recommended`.
Verify before relying
- Whether the 'full' extra (bundled Python tools: ruff, black, mypy, bandit, pydoclint, yamllint) is available on PyPI or only via Homebrew.
- Whether AI features (optional, BYO API key) require additional dependencies beyond the base install.
- Performance characteristics and parallel execution overhead compared to running individual tools directly.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 11 — click, loguru, packaging, pathspec, pydantic, pyyaml, rich, tabulate, httpx, defusedxml, identify |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 73,988/month — #14,894 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: lintro-0.117.0-py3-none-any.whl
Keywords: linting, formatting, code-quality, cli, python, javascript, yaml, docker
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
rumdlA Rust-based Markdown linter and formatter that…
permissive · top 5,000 on PyPI
yamllintyamllint checks YAML files for syntax errors,…
copyleft · top 1,000 on PyPI
mdformatMdformat is a CommonMark-compliant command-line…
permissive · top 5,000 on PyPI
lintrunner-adaptersProvides adapter integrations for lintrunner,…
permissive · top 5,000 on PyPI
pylint-gitlabProvides custom pylint output formatters that…
copyleft · top 5,000 on PyPI
commitlintLints commit messages against the Conventional…
copyleft · top 15,000 on PyPI
tclinttclint is a CLI linter, formatter, and language…
permissive · top 15,000 on PyPI
ast-grep-cliast-grep-cli is a command-line tool for…
permissive · top 5,000 on PyPI
doccmdRuns linters, formatters, and other…
permissive · top 15,000 on PyPI
lefthookLefthook is a Git hooks manager that installs…
permissive · top 15,000 on PyPI