anncheck

A tool to find missing annotations in Python files.


License
MIT
Install
pip install anncheck==1.3.0

Documentation

anncheck

Check for missing annotations in Python. It's super fast compared to mypy, checking for missing annotations in sympy gave the following results:

Benchmark Query Result Execution time
MyPy mypy --disallow-untyped-calls --disallow-untyped-defs --disallow-incomplete-defs sympy Found 31037 errors in 1171 files (checked 1405 source files) 88.32 s
Anncheck anncheck sympy -r Found 128059 variables missing annotation(s) in 1197 files 47.28 s
Anncheck Compact mode anncheck sympy -r -c Found 128059 variables missing annotation(s) in 1197 files 4.47 s

It also has more options for annotation checking.

Installation

pip install anncheck

Usage

Usage: anncheck [OPTIONS] SRC...

Options:
  -a, --include-asterisk    Include variables starting with '*'.  [default:
                            False]
  -c, --compact             Compact mode, displays file name and number of
                            missing annotations on a single line.  [default:
                            False]
  -d, --include-docstrings  Anncheck doesn't check for functions inside
                            triple-quotes by default, set flag to do.
                            [default: False]
  -e, --exclude-return      Exclude return annotations.  [default: False]
  -n, --new-line            Set flag to separate functions by an empty line.
                            [default: False]
  -r, --recursive           Set flag to recursively go into folders.
                            [default: False]
  -m, --exclude-main        Exclude functions defined in 'if __name__ ==
                            "__main__": ...'  [default: False]
  -p, --padding INTEGER     Padding for line number.  [default: 3]
  --exclude-dunder          Exclude dunder functions.  [default: False]
  --init-return             Set flag to show if __init__ is missing a return
                            annotation.  [default: False]
  --match-function TEXT     Only search functions matching regex. Note: Put
                            regex in quotes.
  --match-variable TEXT     Match variables with regex. Note: Put regex in
                            quotes.
  --help                    Show this message and exit.