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
A static analysis tool for Python
Static type checker for Python
A static type analyzer for Python code
Dynamic type checkers
Unbearably fast O(1) runtime type-checking in pure Python.
Data parsing and validation using Python type hints
Typing-toolbox for Python 3 and 2.7 w.r.t. PEP 484.
Decorator which checks whether the function is called with the correct type of parameters.
Type-safe, strict Python. Works well with standard Python
Run-time type checker for Python
Typical: Fast, simple, & correct data-validation using Python 3 typing.
trycast parses JSON-like values whose shape is defined by TypedDicts and other standard Python type hints.
Stub packages
ASGI specification and utilities
boto3 code assistance for any API in any IDE, always up to date
Type stubs for Celery and its related packages
Mypy stubs, i.e., type information, for numpy, pandas and matplotlib
PEP-484 stubs for Django
PEP-484 stubs for django-rest-framework
gRPC typing stubs for Python
Type stubs for the lxml package
Stubs with type annotations for ordered-set Python library
Stubs for PyQt5
Apache (Py)Spark type annotations (stub files).
Typed interface stubs for Pythonista iOS
Mypy plugin and stubs for SQLAlchemy
Type annotations and dynamic checking for a tensor's shape, dtype, names, etc.
Collection of library stubs for Python, with static types
MyPy types for WSGI applications
Additional types
🧙 A simple, typed and monad-based Result type for Python.
Rust like Option and Result types in Python
👻 Phantom types for Python
Make your functions return something meaningful, typed, and safe!
Fully typesafe, Rust-like Result and Option types for Python
Types that make coding in Python quick and safe.
Backports and improvements
Modified fork of CPython's ast module that parses # type:
comments
Python static typing home. Contains the source for typing_extensions and the documentation. Also hosts a user help forum.
Backport Python 3.8+ typing utils & add issubtype & more
An enhanced version of the Python typing library.
Linters
flake8 plugin to validate annotations complexity
Flake8 Type Annotation Checking
A plugin for Flake8 that provides specializations for type hinting stub files
Flake8 plugin for managing type-checking imports & forward references
flake8 plugin which checks that typing imports are properly guarded
Flake8 plugin for managing type-checking imports & forward references.
The strictest and most opinionated python linter ever!
Testing
Test mypy plugins, stubs, custom types.
pytest plugin for testing mypy types, stubs, and plugins
pytest plugin to test mypy static type analysis
Mypy static type checker plugin for Pytest
Working with types
Tool for translation type comments to type annotations in Python
A static type analyzer for Python code
open source tools to generate mypy stubs from protobufs
Silence mypy by adding or removing code comments
Optional static typing for Python
Re-apply type annotations from .pyi stubs to your codebase.
Pre-commit hook for upgrading type hints
Make mypy more effective
Runtime inspection utilities for Python typing module
A Python type explainer!
Helper tools to add annotations to existing code
A Python library that generates static type annotations by collecting runtime types
Auto-generate PEP-484 annotations
Performant type-checking for python.
Generate PyAnnotate annotations from your pytest tests.
A static type analyzer for Python code
Type4Py: Deep Similarity Learning-Based Type Inference for Python
Code for "Typilus: Neural Type Hints" PLDI 2020
Makes typed arguments Optional when the default argument is None
Mypy plugins
mypy plugin to type check Kubernetes resources
mypy plugin for loguru
Plugin for mypy to support zope.interface
Optional static typing for Python
mypy plugin for PynamoDB
Integrations
The mypy playground. Try mypy with your web browser.
A simple plugin that allows running mypy from PyCharm and navigate between errors
Documentation and issues for Pylance
Vim plugin for executing Python's optional static type checker MyPy (http://mypy-lang.org/)
Run isort, pyupgrade, mypy, pylint, flake8, and more on Jupyter Notebooks
PEPs
Third-party articles
Python typing koans to learn type-hints in Python3 using Mypy
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)