flake8 plugin for type annotations
Project description
Flake type annotations plugin
The flake8
plugin checking for correct usage of the Python type annotations.
Use with flake8-annotations for even better results!
Installation
Plugin requires flake8 >3.0.0
pip install flake-type-annotations-plugin
Rules
TAN001
This rule disallows usage of Union
and Optional
type annotations and expects user
to use the new |
operator syntax.
Example:
# WRONG
from typing import Optional, Union
def func(arg: Optional[int]) -> Union[int, str]: # violates TAN001
return arg if arg is not None else "N/A"
# CORRECT
def func(arg: int | None) -> int | str: # OK
return arg if arg is not None else "N/A"
For Python versions <3.10
a top-level module import
from __future__ import annotations
must be included in order to use this
syntax.
More can be read in PEP604.
TAN002
This rule disallows usage of type annotations where built-in types can be used.
Example:
# WRONG
from typing import List, Tuple
def func(arg: Tuple[int]) -> List[int]: # violates TAN002
return list(arg)
# CORRECT
def func(arg: tuple[int]) -> list[int]: # OK
return list(arg)
For Python versions <3.9
a top-level module import
from __future__ import annotations
must be included in order to use this
syntax.
More can be read in PEP585.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for flake-type-annotations-plugin-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ee3d6bedbdbb63cd9c53a8b08017841b3e9b302360586fe123822d1955fe935 |
|
MD5 | d613aa15b97a21feb90c97f1139779fe |
|
BLAKE2b-256 | 3e29397f99a6ccdb516fe167fa4f98e40f3963047d2375d933e887cca1689d05 |