Skip to main content

Summary

FeatureStatusNotes
Maintainability✔Complexity, duplication, code smells
Linting✔
Auto-formatting✔
Custom checks✔
Security scanning✔AppSec, dependencies, and secrets
Code metrics✔
Code coverage✔

Details

Maintainability
Complexity✔Aka cognitive complexity
Cyclomatic complexity✔
Identical code duplication✔
Similar code duplication✔
Code smells✔
Linters
Flake8✔Style guide enforcement
Mypy✔Static type checker
Ruff✔Fast Python linter
Bandit✔Security linter
radarlint-python✔Static analysis tool
Auto-formatters
Black✔Code formatter
Ruff✔Includes formatting capabilities
Custom checks
ast-grep✔
Semgrep✔
ripgrep✔
Security scanning
Bandit✔AppSec (SAST)
Gitleaks✔Secrets scanning
OSV-Scanner✔Dependency scanning (SCA)
radarlint-python✔AppSec (SAST)
Semgrep✔AppSec (SAST)
Trivy✔Dependency scanning (SCA)
TruffleHog✔Secrets scanning
Code coverage
pytest✔
unittest✔
Cobertura coverage format✔
Coverage.py XML format✔

File extensions

By default, Python files are defined as:
These patterns can be overridden from qlty.toml.

Supported Python versions

We support Python 2 and Python 3 for maintainability checks and code coverage. Each plugin may have its own version requirements.