pylama
Code audit tool for python
What it is and what it does
Pylama is a command-line code audit tool that aggregates output from multiple Python linters into a single, unified report. It bundles pycodestyle (style checks), pydocstyle (docstring checks), pyflakes (logical errors), and mccabe (complexity analysis) by default, and can optionally integrate pylint, mypy, radon, eradicate, and vulture for deeper analysis. You run it once against your codebase and get consolidated results across all enabled checkers, configurable via command-line flags, INI files, or TOML configuration.
The tool is designed for developers and teams who want a single entry point for code quality checks rather than managing multiple linter invocations. It supports file-level configuration overrides, inline noqa comments to suppress specific warnings, and multiple output formats (pylint, pycodestyle, parsable, JSON). It can be integrated as a Git or Mercurial pre-commit hook and supports concurrent checking for large projects.
Use it for:
- Run a single command to check Python code against multiple style and quality standards simultaneously.
- Enforce consistent code style across a team by configuring shared pylama.ini or pyproject.toml rules.
- Integrate code auditing into CI/CD pipelines with JSON or parsable output formats.
- Suppress specific warnings on a per-file or per-line basis using configuration sections or noqa comments.
- Install as a Git hook to catch code quality issues before commit.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pylama is a code audit tool that wraps multiple Python linters (pycodestyle, pydocstyle, pyflakes, mccabe, and optionally pylint, mypy, radon, eradicate, vulture) into a single unified interface for checking code quality and style violations.
Yes. Pylama is a stable, actively maintained tool with no known vulnerabilities, low install friction, and permissive licensing. It solves a real problem—consolidating multiple linters into one interface—and is well-suited for teams wanting standardized code auditing without managing separate tool configurations. Install it if you need unified linting across multiple checkers.
Install
pylama on PyPI
pip
pip install pylamauv
uv add pylamapoetry
poetry add pylamaInstalling pylama
Before you install
Low friction installation with four runtime dependencies (mccabe, pycodestyle, pydocstyle, pyflakes) bundled by default. The project is actively maintained with recent commits and remains in production/stable status.
License in practice
MIT license permits use, modification, and distribution with minimal restrictions—suitable for both open-source and proprietary projects.
Quickstart
$ pip install pylama
$ pylama
Or check a specific path:
$ pylama path/to/code
Ignore specific errors:
$ pylama -i W,E501
Choose specific linters:
$ pylama -l "pycodestyle,mccabe"
Requires Python 3.7 or later. On Windows, the curses library may need to be installed separately if tests fail.
Verify before relying
- Whether optional linters (pylint, mypy, radon, eradicate, vulture) are actively maintained and compatible with current Python versions.
- Performance characteristics when checking large codebases with concurrent mode enabled.
- Compatibility of TOML configuration with modern pyproject.toml tooling ecosystems.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — mccabe, pycodestyle, pydocstyle, pyflakes |
| Maintenance | actively maintained — 1,467 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 188,388/month — #9,946 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pylama-8.4.1-py3-none-any.whl
Keywords: qa, linter, pydocstyle, pycodestyle, mccabe, pylint
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
flake8Flake8 is a command-line tool that combines…
permissive · top 1,000 on PyPI
cython-lintA linter for Cython files that checks for…
permissive · top 5,000 on PyPI
flake8-blackA flake8 plugin that runs black's code style…
permissive · top 15,000 on PyPI
yamllintyamllint checks YAML files for syntax errors,…
copyleft · top 1,000 on PyPI
pep8-namingA flake8 plugin that checks Python code for…
permissive · top 5,000 on PyPI
pycodestylepycodestyle checks Python code against PEP 8…
permissive · top 1,000 on PyPI
prospectorProspector aggregates multiple Python static…
copyleft · top 15,000 on PyPI
pydocstylepydocstyle is a static analysis tool that…
permissive · top 5,000 on PyPI
mccabeMeasures cyclomatic complexity of Python…
permissive · top 1,000 on PyPI
refurbRefurb is a static analysis tool that scans…
copyleft · top 15,000 on PyPI