Awesome Python Typing

Collection of awesome Python types, stubs, plugins, and tools to work with them.
Contents
- Static type checkers
- Dynamic type checkers
- Stub packages
- Additional types
- Backports and improvements
- Tools
- Integrations
- Articles
- Related
Full list of typed projects on PyPi is here.
Static type checkers
- basedmypy - Based static typing with baseline functionality.
- basedpyright - Pyright fork with improvements to VSCode support and various other fixes.
- mypy - Optional static typing (PEP 484).
- pyanalyze - Extensible static analyzer and type checker.
- PyCharm - IDE for Professional Developers.
- pylyzer - A fast static code analyzer & language server for Python, written in Rust.
- pyre - Performant type-checker.
- pyright - Fast type checker meant for large Python source bases. It can run in a “watch” mode and performs fast incremental updates when files are modified.
- pytype - Tool to check and infer types - without requiring type annotations.
Dynamic type checkers
- beartype - Unbearably fast
O(1)runtime type-checking in pure Python. - pydantic - Data parsing using Python type hinting. Supports dataclasses.
- pytypes - Provides a rich set of utilities for runtime typechecking.
- strongtyping - Decorator which checks whether the function is called with the correct type of parameters.
- typedpy - Type-safe, strict Python. Works well with standard Python.
- typeguard - Another one runtime type checker.
- typical - Data parsing and automatic type-coercion using type hinting. Supports dataclasses, standard classes, function signatures, and more.
- trycast - Parse JSON-like values whose shape is defined by typed dictionaries (TypedDicts) and other standard Python type hints.
Stub packages
- asgiref - ASGI specification, provides asgiref.typing module with type annotations for ASGI servers.
- boto3-stubs - Stubs for boto3.
- botostubs - Gives you code assistance for any boto3 API in any IDE.
- celery-types - Type stubs for Celery and its related packages django-celery-results, ampq, kombu, billiard, vine and ephem.
- django-stubs - Stubs for Django.
- djangorestframework-stubs - Stubs for DRF.
- grpc-stubs - Stubs for grpc.
- lxml-stubs - Stubs for lxml.
- PyQt5-stubs - Stubs for PyQt5.
- python-phonenumbers-stubs - Stubs for phonenumbers.
- pythonista-stubs - Stubs for Pythonista.
- scipy-stubs - Stubs for SciPy.
- sqlalchemy-stubs - Stubs for SQLAlchemy.
- sqlalchemy2-stubs - Official stubs and mypy plugin for SQLAlchemy.