Packages
Provides type annotations for the psutil library, enabling type checkers like mypy and pyright to validate code that uses psutil for system and process monitoring.
A pytest plugin that runs each test in a forked subprocess to isolate crashes and segfaults, preventing a single test failure from terminating the entire test suite.
Provides compatibility utilities for working with multiple versions of Ansible, abstracting version-specific differences and facilitating integration with Ansible-based tools.
Install it if you are building tools or automation that must work across multiple Ansible versions.
Cerberus validates Python dictionaries and documents against a schema, checking types and other constraints with minimal dependencies and extensible custom validation rules.
Install it if you need schema validation without the complexity of heavier frameworks.
autoflake removes unused imports and unused variables from Python code by analyzing it with pyflakes, and optionally removes useless pass statements.
PyHamcrest provides a framework for writing declarative matcher objects that enable flexible, readable assertions in unit tests and data validation scenarios.
Install it if you want more readable, maintainable test assertions.
Provides PEP-484 type stubs for Django REST Framework to enable mypy static type checking of DRF code.
A task runner that reads task definitions from pyproject.toml or poe_tasks.toml and executes them as commands, shell scripts, Python expressions, or function calls, with support for sequential, parallel, and DAG composition.
Install it if you want to centralize project automation in pyproject.toml and avoid shell scripts or Makefiles.
A pytest plugin that lets you control the order in which tests run using markers, either by index number or by specifying relationships between tests.
Radon computes code metrics from Python source files, including cyclomatic complexity, raw metrics (lines of code, comments, blanks), Halstead metrics, and maintainability index.
However, the project is dormant—no releases in over a year and no commits since October 2024.
ansible-lint checks Ansible playbooks and roles for practices that could be improved, flagging issues before deployment.
Install it if you use Ansible and want automated quality checks on your playbooks.
A flake8 plugin that detects likely bugs and design problems in Python code through opinionated linting rules not covered by pyflakes or pycodestyle.
Tach enforces module boundaries, dependency rules, and public interfaces in Python projects, detecting violations like undeclared imports, cross-module calls outside public APIs, and circular dependencies.
pydocstyle is a static analysis tool that checks Python docstrings for compliance with PEP 257 conventions, reporting style violations in your code.
However, the project is archived and abandoned—no maintenance since 2023-11-03.
Provides a pip-installable shellcheck binary that works across macOS, Linux, and Windows without requiring a separate system installation.
Gcovr processes GCC code coverage data and generates human-readable or machine-parseable coverage reports in multiple formats including HTML, JSON, CSV, XML (Cobertura, Clover, JaCoCo, LCOV, SonarQube), Markdown, and Coveralls.
Install it if you need to measure or report code coverage for GCC-compiled C/C++ projects, especially in CI/CD contexts where structured output formats are required.
Packages the clang-format code formatter as a Python-installable tool, making it available via pip without requiring separate system installation.
Yamale validates YAML files against a schema you define, catching structural and type errors before your application processes the data.
Provides utilities and helper functions for building Pylint plugins, abstracting common patterns used by plugins like pylint-django and pylint-celery.
Provides type stubs for the entire SciPy library, enabling static type checkers to understand SciPy's API with shape and dtype awareness.
A command-line tool and pre-commit hook that validates JSON and YAML files against JSON Schema, with support for local and remote schemas.
Install it if you need to validate JSON or YAML against schemas in a CLI or pre-commit context—it does exactly that without bloat.
DataComPy compares two DataFrames across Pandas, Polars, Spark, and Snowflake, reporting differences in rows and columns with configurable matching tolerance and structured output for programmatic access.
Install it if you need to compare tabular data programmatically or generate detailed difference reports.
Provides pluggable health check endpoints for Django applications to monitor the app and its connected services like databases and DNS.
Install it if you need to integrate your Django app with orchestration systems or external monitoring.
Enables SQLFluff to lint and auto-fix dbt project SQL using dbt templating, integrating dbt-core and Jinja2 template processing into SQLFluff's multi-dialect SQL linting workflow.
Scans AWS CDK applications and CloudFormation templates against predefined rule packs to identify security and compliance violations.
Install it if you use CDK and need to enforce security or compliance standards.
A pytest plugin that automatically annotates failed tests in GitHub Actions workflows using GitHub's workflow annotation commands, making test failures visible directly in the Actions UI.
Install it if you run pytest in GitHub Actions and want failures to surface directly in the UI.
Validates YAML and JSON data against schemas using a Kwalify-based rule system, available as both a Python library and command-line tool.
However, choose it cautiously for new projects: the package is dormant and may not support newer Python versions.
djlint formats and lints HTML templates with embedded template syntax (Django, Jinja, Twig, Nunjucks, Handlebars, Liquid, Go templates, and others), fixing indentation, tag case, spacing, and catching structural issues that generic HTML tools miss.
Mutmut is a mutation testing system for Python that automatically modifies your code to verify your test suite catches the changes, helping identify gaps in test coverage.
SeleniumBase is a browser automation framework that combines Selenium WebDriver with pytest integration, CDP mode for bot-detection bypass, and tools for web testing, scraping, and crawling.
However, the 60 runtime dependencies are substantial—evaluate whether you need the full feature set or if a lighter alternative suits your use case.
Automate Microsoft Windows GUI interactions by sending mouse and keyboard actions to windows, dialogs, and controls, with support for both Win32 API and MS UI Automation backends.
Provides assertion methods for testing PySpark code with descriptive error messages formatted for easy debugging.
A flake8 plugin that checks Python code for compliance with PEP 8 naming conventions, detecting violations like improper class names, function names, variable names, and import aliases.
Install it if you use flake8 and want to enforce naming conventions.
ast-grep-cli is a command-line tool for searching, linting, and rewriting code using abstract syntax tree patterns instead of text matching.
A pytest plugin that lets you control the execution order of your tests using markers, running specific tests first, last, or in a defined sequence.
Flake8-pyproject enables Flake8 to read its configuration from pyproject.toml instead of requiring separate .flake8, setup.cfg, or tox.ini files.
Install it if your project has already standardized on pyproject.toml for other tools.
Provides type stubs for the pyasn1 package, enabling static type checkers like mypy and pyright to validate code that uses pyasn1 for ASN.1 encoding and decoding.
Molecule is an Ansible testing framework for developing and testing Ansible collections, playbooks, and roles across containers, virtual machines, cloud infrastructure, and other systems reachable from Ansible.
Install it if you develop or maintain Ansible roles, playbooks, or collections and want to automate testing across diverse infrastructure targets.
Converts terminal output with ANSI color codes to HTML or LaTeX, preserving colors and formatting for display in browsers or documents.
Install it if you need to convert ANSI-colored terminal output to HTML or LaTeX.
A Pylint plugin that improves static analysis of Django code by understanding Django-specific patterns and suppressing false positives from Django's dynamic attribute generation.