{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/9"},{"label":"Quality Assurance","url":"https://skillfed.io/packages/category/software-development-quality-assurance/2"}],"enrichment":{"capability":"A Flake8 plugin that enforces PEP 3107-style function type annotations by detecting missing parameter and return type hints in Python code.","skillfed_tags":["type-hints","linting","flake8-plugin"],"use_cases":["Enforce consistent annotation practices across a team's codebase by failing CI when functions lack type hints.","Gradually migrate an unannotated legacy codebase toward full type coverage by identifying all missing annotations in one pass.","Catch untyped *args and **kwargs in function signatures before they cause type-checking issues downstream.","Suppress annotation requirements for dispatch functions (singledispatch, singledispatchmethod) that intentionally omit hints on the base implementation.","Detect missing return type hints on public APIs to improve IDE autocomplete and documentation generation."],"what_it_does":"flake8-annotations is a Flake8 plugin that scans Python function definitions and reports missing type annotations according to PEP 3107. It detects absent annotations on function parameters (including *args and **kwargs), method self/cls arguments, and return types across public, protected, and special methods. The plugin integrates directly into Flake8's linting pipeline and runs automatically once installed.\n\nThe plugin does not replace static type checkers like mypy, does not validate type comments or variable annotations, and does not read stub files. It offers configurable warnings with sensible defaults\u2014most checks enabled by default, opinionated checks (like disallowing typing.Any) disabled by default. Configuration options allow suppressing errors for functions without returns, dummy arguments, untyped nested functions, and functions decorated with dispatch or overload decorators.","worth_installing":"Yes. The plugin is actively maintained, has no known vulnerabilities, integrates seamlessly into Flake8 workflows with low install friction, and solves a real problem\u2014enforcing annotation discipline\u2014that static type checkers alone do not address. The MIT license imposes no restrictions. Install it if your team wants to mandate or gradually adopt type annotations."},"id":"flake8-annotations","links":{"html":"https://skillfed.io/packages/flake8-annotations","md":"https://skillfed.io/packages/flake8-annotations.md","pypi":"https://pypi.org/project/flake8-annotations/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-10-09","license_spdx":"MIT","license_treatment":"permissive","name":"flake8-annotations","python_support":"supports_current","summary":"Flake8 Type Annotation Checks"},"popularity":{"monthly_downloads":693250,"position":5317,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"3.2.0"}
