User Experience on mobile might not be great yet, but I'm working on it.

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.

Last Update: Oct. 19, 2021, 6:03 a.m.

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)

9.96K
1.62K
7m
n/a

A static analysis tool for Python

104
8
10m
Apache-2.0

Static type checker for Python

6.35K
289
7m
n/a

A static type analyzer for Python code

3.12K
182
7m
n/a

Powerful Python IDE, which has professional version and community version.

Performant type-checker for Python 3.

Dynamic type checkers

Un ably fast O(1) runtime type-checking in pure Python.

9
1
10m
MIT

Data parsing and validation using Python type hints

5.46K
488
7m
MIT

Typing-toolbox for Python 3 and 2.7 w.r.t. PEP 484.

146
17
1y 61d
Apache-2.0

Decorator which checks whether the function is called with the correct type of parameters.

52
0
95d
n/a

Run-time type checker for Python

591
55
8m
n/a

Typical: Fast, simple, & correct data-validation using Python 3 typing.

96
5
1y 70d
MIT

Stub packages

ASGI specification and utilities

792
113
8m
n/a

Type annotations builder for boto3 compatible with VSCode, PyCharm, Emacs, Sublime Text, pyright and mypy.

113
8
8m
MIT

boto3 code assistance for any API in any IDE, always up to date

90
3
4m
n/a

Mypy stubs, i.e., type information, for numpy, pandas and matplotlib

180
58
8m
Apache-2.0

PEP-484 stubs for Django

589
143
7m
MIT

PEP-484 stubs for django-rest-framework

184
37
8m
MIT

gRPC typing stubs for Python

13
10
8m
MIT

Type stubs for the lxml package

10
11
7m
Apache-2.0

Stubs with type annotations for ordered-set Python library

2
0
1y 8m
MIT

Stubs for PyQt5

42
20
7m
GPL-3.0

Apache (Py)Spark type annotations (stub files).

96
31
9m
Apache-2.0

Typed interface stubs for Pythonista iOS

12
3
2y 6m
Apache-2.0

Mypy plugin and stubs for SQLAlchemy

376
74
8m
Apache-2.0

Type annotations and dynamic checking for a tensor's shape, dtype, names, etc.

658
11
114d
Apache-2.0

Collection of library stubs for Python, with static types

2.02K
1K
7m
Apache-2.0

MyPy types for WSGI applications

0
0
9m
MIT

Additional types

๐Ÿง™ A simple, typed and monad-based Result type for Python.

13
0
9m
MIT

Rust like Option and Result types in Python

12
1
8m
MIT

๐Ÿ‘ป Phantom types for Python.

36
1
95d
MIT

Make your functions return something meaningful, typed, and safe!

1.58K
61
7m
BSD-2-Clause

Fully typesafe, Rust-like Result and Option types for Python

19
1
1y 26d
Apache-2.0

Types that make coding in Python quick and safe.

15
1
1y 12m
MIT

Backports and improvements

Modified fork of CPython's ast module that parses # type: comments

175
44
9m
n/a

Work related to PEP 484: typing.py and typing_extensions.py (both released via PyPI) and issue tracker for type system bugs/features.

777
118
1y 57d
n/a

Backport Python 3.8+ typing utils & add issubtype & more

4
2
4m
Apache-2.0

An enhanced version of the Python typing library.

6
2
3y 9d
MIT

Linters

flake8 plugin to validate annotations complexity

29
8
10m
MIT

Flake8 Type Annotation Checking

48
2
1y 40d
MIT

A plugin for flake8 integrating Mypy.

106
17
1y 4m
MIT

A plugin for Flake8 that provides specializations for type hinting stub files

21
10
1y 1d
MIT

flake8 plugin which checks that typing imports are properly guarded

23
3
7m
MIT

WIP Flake8 plugin that flags imports only used for type hinting

4
0
7m
BSD-3-Clause

The strictest and most opinionated python linter ever!

1.38K
266
7m
MIT

Testing

pytest plugin for testing mypy types, stubs, and plugins

46
6
11m
MIT

pytest plugin to test mypy static type analysis

11
2
1y 5m
n/a

Mypy static type checker plugin for Pytest

185
31
11m
MIT

Working with types

Tool for translation type comments to type annotations in Python

90
5
7m
MIT

A static type analyzer for Python code

3.12K
182
7m
n/a

open source tools to generate mypy stubs from protobufs

325
51
8m
Apache-2.0

Silence mypy by adding or removing code comments

3
0
4m
MIT

Optional static typing for Python 3 and 2 (PEP 484)

9.96K
1.62K
7m
n/a

Re-apply type annotations from .pyi stubs to your codebase.

94
14
1y 8d
MIT

Pre-commit hook for upgrading type hints

35
2
17d
BSD-3-Clause

Runtime inspection utilities for Python typing module

185
14
9m
MIT

Lib for working with typed objects and JSON.

Helper tools to add annotations to existing code

A system for Python that generates static type annotations by collecting runtime types

3.27K
124
8m
n/a

Auto-generate PEP-484 annotations

1.17K
48
11m
Apache-2.0

Performant type-checking for python.

5.18K
312
7m
MIT

Generate PyAnnotate annotations from your pytest tests.

75
8
1y 10m
Apache-2.0

A static type analyzer for Python code

3.12K
182
7m
n/a

Type4Py: Deep Similarity Learning-Based Type Inference for Python

11
1
7m
Apache-2.0

Code for "Typilus: Neural Type Hints" PLDI 2020

28
9
8m
MIT

Mypy plugins

mypy plugin to type check Kubernetes resources

7
1
44d
Apache-2.0

mypy plugin for loguru

2
1
8m
MIT

Plugin for mypy to support zope.interface

27
5
8m
MIT

Optional static typing for Python 3 and 2 (PEP 484)

9.96K
1.62K
7m
n/a

mypy plugin for PynamoDB

1
1
1y 5m
Apache-2.0

Integrations

The mypy playground. Try mypy with your web browser.

37
5
112d
MIT

A simple plugin that allows running mypy from PyCharm and navigate between errors

274
10
1y 11m
Apache-2.0

Documentation and issues for Pylance

921
112
96d
CC-BY-4.0

Vim plugin for executing Python's optional static type checker MyPy (http://mypy-lang.org/)

80
8
4y 9m
MIT

Run any standard Python code quality tool on a Jupyter Notebook

57
6
11m
MIT

PEPs

Literature Overview for Type Hints.

Syntax for Variable Annotations.

Protocols: Structural subtyping (static duck typing).

Core support for typing module and generic types.

Distributing and Packaging Type Information.

Postponed Evaluation of Annotations.

Type Hinting Generics In Standard Collections.

TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys.

Adding a final qualifier to typing.

Flexible function and variable annotations.

Complementary syntax for Union[].

Parameter Specification Variables.

Third-party articles

Communities

Official typing gitter chat.

Official organisation gitter chat.

Russian slack chat (invites are here) about types.

Related

A curated list of awesome Python frameworks, libraries, software and resources

94.32K
18.48K
8m
n/a

A list of Python type checkers (PEP 484 compliant and not, static and runtime/dynamic)

43
3
8m
n/a