Packages
Validates reStructuredText syntax and checks code blocks nested within RST documents for syntax errors across multiple languages including Python, C, C++, Bash, JSON, XML, and Doctest.
Extends Python's unittest framework to compare XML documents structurally using XPath expressions and lxml, rather than comparing raw XML strings.
Validates reStructuredText syntax and checks code blocks embedded within it, supporting multiple languages including Python, Bash, C/C++, JSON, XML, YAML, and Doctest.
Install it if you need RST validation in documentation workflows or CI pipelines.
A Flake8 plugin that lints Python type stub files (.pyi) with stub-specific rules and forward-reference support, enforcing typeshed style conventions.
Converts flake8 linting output to JUnit XML format for display in CI servers and test reporting systems.
A flake8 plugin that detects when Python builtins are shadowed by variables, parameters, class attributes, imports, or lambda arguments in your code.
A pytest plugin that integrates Ansible into test functions, allowing you to call Ansible modules and iterate over inventory hosts directly from pytest tests.
However, no for new projects: the maintainers recommend using plain pytest with parametrize and subprocess helpers (documented in the package), or Molecule for…
A pytest plugin that identifies dependencies between tests by running them in multiple orders and using binary search to pinpoint which test causes another to fail.
Eradicate detects and removes commented-out code from Python files while preserving legitimate comments, using heuristics to distinguish between the two.
Install it if you maintain Python codebases and want to automate comment cleanup; the low friction and focused scope make it a low-risk addition to your workflow.
A flake8 plugin that enforces consistent quote style in Python code, checking inline strings, multiline strings, and docstrings against configurable rules.
Provides base classes and utilities for writing flake8 plugins, including Error, Visitor, and Plugin abstractions with built-in testing helpers and AST node utilities.
Provides type stubs for pexpect, enabling type checkers like mypy and pyright to validate code using pexpect.
Deprecate Python functions, methods, classes, and constants with transparent call forwarding, argument remapping, and CI audit support—all with zero runtime dependencies.
Provides compatibility helpers for Flake8 plugins that need to support both Flake8 2.x and 3.x versions simultaneously.
Adds Tab-key autocompletion and command expansion to the Python interactive console, building on readline functionality.
Install it if you spend time in the Python interactive console and want Tab-key autocompletion; the single dependency and recent release history make it a safe,…
Pydoclint is a Python docstring linter that validates whether docstring sections (arguments, returns, raises) match the function signature and implementation, supporting numpy, Google, and Sphinx styles.
Install it if your team values documentation consistency and wants to catch docstring-signature mismatches automatically; the speed advantage over alternatives like…
pdbp is an enhanced Python debugger that replaces the standard pdb with colored output, tab completion, and sticky mode to show multiple lines of code during debugging.
Delivers notices about Gym library versions to users on import, flagging reproducibility issues, outdated versions, or other critical problems.
Creosote scans your Python project's source code and dependency specifications to identify which declared dependencies are actually unused, helping you clean up bloated virtual environments.
A linter for Cython files that checks for common errors, style issues, and code quality problems using pycodestyle rules and Cython-specific checks, with support for pre-commit hooks and automated fixes.
Install it if you want to catch Cython-specific bugs and style issues early.
doit is a Python-based task automation and build tool that tracks file dependencies, caches results, and runs only tasks whose inputs have changed, eliminating redundant work in build pipelines and automation workflows.
Install it if you need efficient, Python-native task automation.
Provides custom pylint output formatters that integrate linting results into GitLab CI—generating Code Climate JSON reports, HTML pages with linting details, and badge scores.
A Rust-based Markdown linter and formatter that checks files against 82 lint rules and can automatically fix violations, installable via pip as a pre-built binary with zero runtime dependencies.
Gitlint is a command-line tool that validates Git commit messages against configurable style rules, catching formatting and content issues before they enter your repository.
Taurus is a command-line wrapper that simplifies performance and functional testing by abstracting JMeter, Gatling, Locust.io, and Selenium WebDriver behind a YAML-based configuration interface.
SQLFluff is a SQL linter and auto-fixer that checks SQL code for style and syntax errors across multiple SQL dialects, with support for Jinja templating and dbt.
Install it if you need to lint or format SQL in your codebase or data pipeline.
A pytest plugin that runs tests in parallel using multiprocessing and concurrently using multithreading, designed for test suites that are thread-safe and benefit from non-blocking I/O.
A flake8 plugin that detects commented-out code in Python files and reports it as a linting error, helping maintain code cleanliness by flagging dead code that should be removed.
Provides a virtual display wrapper for running browser automation tests in headless environments, particularly when browser headless modes are insufficient (e.g., for Chrome extensions).
Provides a reusable fixture contract for unit testing that manages setup, cleanup, and state composition without requiring test class hierarchies.
Install it if you write unit tests and want cleaner, more reusable test state management.
A flake8 plugin that detects and forbids backslash line continuations in Python code, enforcing cleaner alternatives like parentheses or implicit string concatenation.
A CLI tool that captures mypy type errors as a baseline on first run, then filters out only pre-existing errors on subsequent runs to show you only new violations you've introduced.
Install it if incremental type-checking adoption is your goal.
A Flake8 plugin that enforces PEP 3107-style function type annotations by detecting missing parameter and return type hints in Python code.
Install it if your team wants to mandate or gradually adopt type annotations.
A pylint plugin that lets you specify which error codes to ignore on a per-file or per-directory basis using glob patterns, rather than applying ignores project-wide.
Runs standard Python linters and formatters (ruff, black, isort, mypy, pylint, flake8, pyupgrade, and others) on Jupyter Notebook code and markdown cells while handling IPython magics and respecting configuration files.
Install it if your team uses Jupyter notebooks and wants to enforce the same code standards as your .py files.
Dodgy scans Python source code for suspicious patterns—accidental diff markers, hardcoded passwords, and secret keys—using simple regular expressions to catch potentially dangerous code before it's committed.
No—not for new projects.
A flake8 plugin that runs black's code style validation within the flake8 linting ecosystem, reporting violations with BLK error codes when black would make formatting changes.
reuse is a command-line tool that validates and enforces REUSE compliance—a standardized approach to declaring copyright and licensing information in software projects.
A pytest plugin that loads test variables from JSON, YAML, TOML, or Human JSON files specified on the command line and makes them available to tests as a dictionary.
Install it if your tests need to consume external configuration files or if you want to separate test data from test code.
Runtype provides runtime type validation, dataclass enhancement with type checking, and multiple-dispatch function routing based on argument types, all without external dependencies.
Install it if you need runtime type safety in dataclasses or want to use multiple dispatch without external dependencies.