Awesome
About
This is a file to keep track of all of the type checkers that exist for Python. They are grouped into one of four catagories classified by whether or not they use PEP 484 syntax, and if they are static or dynamic.
PEP 484 syntax
Static
Dynamic/Runtime
- enforce
- typeguard
- typo
- beartype
- ducktype (Python 2 only?)
- strictconf
- pytypecheck
- pytypechecker
- strict-hint
- typesentry
- runtime_type_checks
- checktype
- py_type
- magic-constraints
- pydantic
- typical
- typity
- runtype
Other syntax
Static
Dynamic/Runtime
- icanhaztypecheck
- stifle
- compliance
- pavlov
- dtype-decorate
- safetynet
- promises
- promises
- tychonov
- accepts.py
- python-typeutils
- python-typesafe (Python 2 only?)
- enforce_types
- typecheck.py
- typist
- python-typesafety
- typecheck
- typedecorator
- pysynthetic
- TypeChecker
- type_check.py
- relaxed_types
- obiwan
Other useful tools/libraries
- stubgen (not to be confused with mypy's)
- typeassert