Your first time on this page? Allow me to give some explanations.
Awesome Typing
Collection of awesome Python types, stubs, plugins, and tools to work with them.
Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.
Thank you typeddjango & contributors
View Topic on GitHub:
typeddjango/awesome-python-typing
Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.
Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.
Static type checkers
Optional static typing for Python 3 and 2 (PEP 484)
A static type analyzer for Python code
Static type checker for Python
A static analysis tool for Python
Powerful Python IDE, which has professional version and community version.
Dynamic type checkers
Un ably fast O(1) runtime type-checking in pure Python.
Typing-toolbox for Python 3 and 2.7 w.r.t. PEP 484.
Data parsing and validation using Python type hints
Run-time type checker for Python
Typical: Fast, simple, & correct data-validation using Python 3 typing.
Stub packages
Collection of library stubs for Python, with static types
PEP-484 stubs for Django
PEP-484 stubs for django-rest-framework
Experimental typing stubs for NumPy
Make your functions return something meaningful, typed, and safe!
Mypy plugin and stubs for SQLAlchemy
gRPC typing stubs for Python
Type annotations builder for boto3 compatible with VSCode, PyCharm, Emacs, Sublime Text, pyright and mypy.
Stubs for PyQt5
Stubs with type annotations for ordered-set Python library
Apache (Py)Spark type annotations (stub files).
Typed interface stubs for Pythonista iOS
MyPy types for WSGI applications
Mypy stubs, i.e., type information, for numpy, pandas and matplotlib
Backports and improvements
Modified fork of CPython's ast module that parses # type:
comments
Work related to PEP 484: typing.py and typing_extensions.py (both released via PyPI) and issue tracker for type system bugs/features.
An enhanced version of the Python typing library.
Types that make coding in Python quick and safe.
Linters
The strictest and most opinionated python linter ever!
A plugin for flake8 integrating Mypy.
A plugin for Flake8 that provides specializations for type hinting stub files
flake8 plugin to validate annotations complexity
Flake8 Type Annotation Checking
Testing
Mypy static type checker plugin for Pytest
pytest plugin for testing mypy types, stubs, and plugins
pytest plugin to test mypy static type analysis
Working with types
A system for Python that generates static type annotations by collecting runtime types
A static type analyzer for Python code
Auto-generate PEP-484 annotations
Generate PyAnnotate annotations from your pytest tests.
Re-apply type annotations from .pyi stubs to your codebase.
open source tools to generate mypy stubs from protobufs
Optional static typing for Python 3 and 2 (PEP 484)
Runtime inspection utilities for Python typing module
Mypy plugins
mypy plugin for PynamoDB
Plugin for mypy to support zope.interface
Optional static typing for Python 3 and 2 (PEP 484)
mypy plugin for loguru
Integrations
A simple plugin that allows running mypy from PyCharm and navigate between errors
Vim plugin for executing Python's optional static type checker MyPy (http://mypy-lang.org/)
PEPs
Protocols: Structural subtyping (static duck typing).
TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys.
Python docs
Tools' docs
Third-party articles
Full tutorial about Final
constants and inheritance.
Full tutorial about Literal
types.
Full tutorial about type-checking django.
Full tutorial about testing mypy types.
Communities
Related
A curated list of awesome Python frameworks, libraries, software and resources
A list of Python type checkers (PEP 484 compliant and not, static and runtime/dynamic)