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.
Beartype is a runtime type checker that validates Python type hints at function call time, catching type violations before they cause downstream bugs.
Install it if you want runtime type safety for your annotated code or need to validate type hints on third-party packages.
Measures cyclomatic complexity of Python functions and integrates with flake8 to flag overly complex code during linting.
Install it if you use flake8 and want to enforce complexity limits, or if you need a standalone complexity scanner.
A pytest plugin that automatically reruns failed tests to eliminate intermittent failures, with support for delays, exponential backoff, exception filtering, and hard crash recovery when used with pytest-xdist.
Install it if your test suite has intermittent failures you want to suppress without rewriting tests.
Performs run-time type checking for Python functions and objects against PEP 484 type annotations, catching type violations that static type checkers cannot detect.
Install it if you need runtime type validation—either selectively via check_type() or wholesale via instrumentation—to catch type errors that static checkers cannot.
Pylint is a static code analyzer that checks Python code for errors, enforces coding standards, detects code smells, and suggests refactoring improvements without executing the code.
Install it if you need thorough code analysis with inference-based bug detection; if speed is critical, consider pairing it with faster linters like ruff for…
Flake8 is a command-line tool that combines PyFlakes, pycodestyle, and McCabe to check Python code for style violations, logical errors, and complexity issues in a single pass.
Astroid builds an extended abstract syntax tree (AST) representation of Python source code with static inference and name-scope analysis, powering tools like pylint.
Install it if you're building or extending code-quality tooling.
yamllint checks YAML files for syntax errors, style violations, and structural problems like key repetition, line length, trailing spaces, and indentation issues.
A fast Python type checker and language server written in Rust, providing type analysis, diagnostics, and IDE integration for Python codebases.
Semgrep is a static analysis tool that searches source code for bugs, security vulnerabilities, and policy violations using patterns that resemble the code being analyzed, supporting 30+ languages.
Install it if you need multi-language static analysis and are comfortable with the LGPL-2.1-or-later license.
A pytest plugin that captures and exposes test session metadata—Python version, platform, installed packages, plugins, and CI environment variables—for use in tests, fixtures, reports, and custom hooks.
uv-build is a build backend that integrates uv's fast dependency resolution into Python project builds.
prek is a Git hook manager written in Rust that runs hooks before commits, on demand, or in CI. It is fully compatible with pre-commit configurations and distributed as a single binary with no runtime dependencies.
Compares test coverage reports against git diffs to identify which new or modified lines lack test coverage, and optionally reports code quality violations in those same lines.
Generates HTML reports for pytest test results, turning test execution data into viewable web pages with test summaries, pass/fail status, and metadata.
Install it if you need HTML test reports; it's a standard tool in pytest ecosystems.
Provides preconfigured rule definitions and configuration helpers for Amazon SageMaker Debugger, allowing you to apply built-in monitoring rules to training jobs without manual setup.
pip-tools provides command-line tools to compile and manage pinned Python package dependencies, ensuring reproducible and deterministic builds by resolving transitive dependencies into locked requirement files.
PyDeequ is a Python API for Apache Spark-based data quality measurement, providing metrics computation, constraint suggestion, constraint verification, and metrics repository persistence for large datasets.
A pytest plugin that repeats test execution a specified number of times, useful for detecting intermittent failures or stress-testing flaky tests.
Represents and manipulates IPv4, IPv6, MAC addresses and related network objects; supports CIDR notation, subnetting, set operations, IANA lookups, and DNS reverse generation.
Computes a single hash value for an entire directory based on its files' structure and content, supporting all hashlib algorithms and glob-style filtering.
Computes structured diffs between JSON and JSON-like Python objects, representing changes as insertions, deletions, and updates rather than raw value replacements.
Install it if you need to understand or track changes in JSON or dict-like data structures; the low friction and stable API make it a safe dependency.
SQLFluff is a SQL linter and auto-fixer that checks SQL code for style and formatting issues across multiple SQL dialects, with support for Jinja templating and dbt.
Install it if you work with SQL across multiple dialects, use dbt, or want to enforce team SQL style standards.
Vulture is a static code analyzer that finds unused code in Python programs by scanning for dead functions, classes, variables, imports, and unreachable code blocks.
Provides type stubs and a mypy plugin to enable precise static type checking for Django code, handling Django's dynamic patterns that would otherwise confuse type checkers.
Provides a pytest assertion helper to compare collections by content rather than order, useful for testing APIs that return data in arbitrary sequences.
autopep8 automatically reformats Python code to comply with PEP 8 style rules, using pycodestyle to identify formatting violations and applying fixes across indentation, whitespace, and comment spacing.
Install it if you want to automate formatting rather than enforce it via linting alone.
Basedpyright is a static type checker for Python that forks and extends Pyright with additional type checking improvements and Pylance features.
A pytest plugin that injects a configurable base URL into your test suite via command line, config file, environment variable, or fixture override.
Install it if your test suite makes HTTP requests to configurable endpoints.
YAPF automatically reformats Python code to conform to a specified style guide, calculating the best formatting that matches your chosen style.
Install it if you want automatic, style-guide-compliant code formatting in your workflow—either as a standalone tool or integrated into your development environment.
Provides the common API and object model for Allure Report, enabling test framework adapters and end users to enhance test reports with metadata, attachments, and structured test information.
Install it if you are building an Allure adapter or using an Allure-integrated test framework.
Scans Python projects to detect unused, missing, and transitive dependency issues by analyzing imports and comparing them against declared dependencies in Poetry, pip, PDM, uv, or PEP 621 projects.
pdbr enhances Python's built-in debugger with colored output and new inspection commands powered by Rich, making breakpoint sessions more readable and interactive.
Integrates pytest with Allure Report to generate rich, interactive test reports with detailed execution history, attachments, and test categorization.