flake8-no-types

A flake8 plugin to ban type hints.


Keywords
flake8
License
MIT
Install
pip install flake8-no-types==1.5.1

Documentation

flake8-no-types

https://img.shields.io/github/workflow/status/adamchainz/flake8-no-types/CI/main?style=for-the-badge https://img.shields.io/pypi/v/flake8-no-types.svg?style=for-the-badge https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge pre-commit

Unmaintained (2022-12-07)

I stopped maintaining this package as it has never been popular. Also, it isn’t really practical to ban all type hints, since tools like dataclasses use them at runtime.


A flake8 plugin to ban type hints.

This can be useful in code bases where you aren't running type checking (yet?) but developers or their IDE's add type hints that can be incorrect.

Requirements

Python 3.7 to 3.11 supported.

Installation

First, install with pip:

python -m pip install flake8-no-types

Second, if you define Flake8’s select setting, add the NT prefix to it. Otherwise, the plugin should be active by default.


Linting a Django project? Check out my book Boost Your Django DX which covers Flake8 and many other code quality tools.


Rules

NT001: No type hints.

Flags all forms of type hints:

  • Function annotations: def foo() -> int:
  • Variable hints: foo: int = 1