Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ethanhs/python-typecheckers
A list of Python type checkers (PEP 484 compliant and not, static and runtime/dynamic)
https://github.com/ethanhs/python-typecheckers
Last synced: 28 days ago
JSON representation
A list of Python type checkers (PEP 484 compliant and not, static and runtime/dynamic)
- Host: GitHub
- URL: https://github.com/ethanhs/python-typecheckers
- Owner: ethanhs
- Created: 2017-08-07T21:37:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-03-17T16:24:32.000Z (over 2 years ago)
- Last Synced: 2024-08-03T17:10:22.315Z (3 months ago)
- Size: 9.77 KB
- Stars: 61
- Watchers: 5
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-python-testing - Typecheckers - A list of Python type checkers. (Static Checks)
- awesome-python-typing - python-typecheckers - List of Python type checkers: static and runtime. (Related / Third-party articles)
README
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
- [mypy](https://github.com/python/mypy)
- [pyre](https://pyre-check.org/)
- [pytype](https://github.com/google/pytype)
- [PyCharm](https://www.jetbrains.com/pycharm/)
- [pyright](https://github.com/Microsoft/pyright)### Dynamic/Runtime
- [enforce](https://github.com/RussBaz/enforce)
- [typeguard](https://github.com/agronholm/typeguard)
- [typo](https://github.com/aldanor/typo)
- [beartype](https://github.com/beartype/beartype)
- [ducktype](https://github.com/OaklandPeters/ducktype) (Python 2 only?)
- [strictconf](https://github.com/vmagamedov/strictconf)
- [pytypecheck](https://github.com/Ran4/pytypecheck)
- [pytypechecker](https://github.com/marcharper/pytypechecker)
- [strict-hint](https://github.com/potfur/strict-hint)
- [typesentry](https://github.com/st-pasha/typesentry)
- [runtime_type_checks](https://github.com/petrbel/runtime_type_checks)
- [checktype](https://github.com/emludei/checktype)
- [py_type](https://github.com/aberkley/py_type)
- [magic-constraints](https://github.com/huntzhan/magic-constraints)
- [pydantic](https://github.com/samuelcolvin/pydantic)
- [typical](https://typical.seandstewart.io)
- [typity](https://github.com/isidentical/typity)
- [runtype](https://github.com/erezsh/runtype)## Other syntax
### Static
- [python3_types_checker](https://github.com/victor-yacovlev/python3_types_checker)
- [python-stc](https://github.com/edreamleo/python-stc)
- [Pyty](https://github.com/jruberg/Pyty)### Dynamic/Runtime
- [icanhaztypecheck](https://github.com/pythononwheels/icanhastypecheck)
- [stifle](https://github.com/joshpurvis/stifle)
- [compliance](https://github.com/vrakesh/Complaince)
- [pavlov](https://github.com/keeler/pavlov)
- [dtype-decorate](https://github.com/mmaelicke/dtype-decorate)
- [safetynet](https://github.com/denniskempin/safetynet)
- [promises](https://github.com/zeeman/promises)
- [promises](https://github.com/eugene-eeo/promises)
- [tychonov](https://github.com/squidsrc/tychonov)
- [accepts.py](https://github.com/brunobell/accepts.py)
- [python-typeutils](https://github.com/siddhuwarrier/python-typeutils)
- [python-typesafe](https://github.com/mirainc/python-typesafe) (Python 2 only?)
- [enforce_types](https://github.com/skftn/enforce_types)
- [typecheck.py](https://github.com/Bad-ptr/typecheck.py)
- [typist](https://github.com/dstanek/typist)
- [python-typesafety](https://github.com/JustusAdam/python-typesafety)
- [typecheck](https://github.com/targeted/typecheck)
- [typedecorator](https://github.com/dobarkod/typedecorator)
- [pysynthetic](https://github.com/wishtack/pysynthetic)
- [TypeChecker](https://github.com/mlsteele/TypeChecker)
- [type_check.py](https://github.com/jhpratt/type_check.py)
- [relaxed_types](https://github.com/Yipit/relaxed_types)
- [obiwan](https://github.com/williame/obiwan)# Other useful tools/libraries
- [stubgen](https://github.com/dhood/stubgen) (not to be confused with mypy's)
- [typeassert](https://github.com/renaud/typeassert)