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: Dec. 2, 2020, 3:02 p.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.5K
1.54K
2d
n/a

A static type analyzer for Python code

3K
172
8d
n/a

Static type checker for Python

5.96K
231
2d
n/a

A static analysis tool for Python

93
8
98d
Apache-2.0

Performant type-checker for Python 3.

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

Dynamic type checkers

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

143
16
105d
Apache-2.0

Data parsing and validation using Python type hints

4.73K
427
2d
MIT

Run-time type checker for Python

534
51
11d
n/a

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

96
5
114d
MIT

Stub packages

Collection of library stubs for Python, with static types

1.9K
958
2d
Apache-2.0

PEP-484 stubs for Django

540
127
8d
MIT

PEP-484 stubs for django-rest-framework

166
31
23d
MIT

Experimental typing stubs for NumPy

277
29
5m
n/a

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

1.48K
59
2d
BSD-2-Clause

Mypy plugin and stubs for SQLAlchemy

331
61
7m
Apache-2.0

gRPC typing stubs for Python

9
4
4m
MIT

Type annotations builder for boto3 compatible with mypy, VSCode and PyCharm

82
7
9d
MIT

Stubs for PyQt5

38
20
24d
GPL-3.0

Stubs with type annotations for ordered-set Python library

2
0
10m
MIT

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

86
30
20d
Apache-2.0

Typed interface stubs for Pythonista iOS

12
3
1y 7m
Apache-2.0

MyPy types for WSGI applications

0
0
10m
MIT

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

129
40
2d
Apache-2.0

Backports and improvements

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

170
43
39d
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
101d
n/a

An enhanced version of the Python typing library.

6
2
2y 53d
MIT

Types that make coding in Python quick and safe.

15
1
1y 43d
MIT

Linters

The strictest and most opinionated python linter ever!

1.27K
246
2d
MIT

A plugin for flake8 integrating Mypy.

107
18
5m
MIT

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

21
10
45d
MIT

flake8 plugin to validate annotations complexity

26
6
66d
MIT

Flake8 Type Annotation Checking

48
2
84d
MIT

Testing

Mypy static type checker plugin for Pytest

175
30
19d
MIT

pytest plugin for testing mypy types, stubs, and plugins

40
5
15d
MIT

pytest plugin to test mypy static type analysis

11
2
7m
n/a

Working with types

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

3.19K
122
12d
n/a

A static type analyzer for Python code

3K
172
8d
n/a

Auto-generate PEP-484 annotations

1.15K
48
22d
Apache-2.0

Generate PyAnnotate annotations from your pytest tests.

73
8
1y 1d
Apache-2.0

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

91
14
52d
MIT

open source tools to generate mypy stubs from protobufs

289
51
8d
Apache-2.0

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

9.5K
1.54K
2d
n/a

Runtime inspection utilities for Python typing module

177
13
4m
MIT

Lib for working with typed objects and JSON.

Mypy plugins

mypy plugin for PynamoDB

0
0
6m
Apache-2.0

Plugin for mypy to support zope.interface

26
6
54d
MIT

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

9.5K
1.54K
2d
n/a

mypy plugin for loguru

2
1
15d
MIT

Integrations

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

266
10
1y 13d
Apache-2.0

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

76
6
3y 10m
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.

Python docs

Tools' docs

Third-party articles

Communities

Official typing gitter chat.

Russian slack chat (invites are here) about types.

Related

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

89.7K
17.65K
14d
n/a

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

39
3
6m
n/a