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: Feb. 28, 2021, 3: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
6d
n/a

A static type analyzer for Python code

3.12K
182
5d
n/a

Static type checker for Python

6.35K
289
5d
n/a

A static analysis tool for Python

104
8
68d
Apache-2.0

Performant type-checker for Python 3.

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

Dynamic type checkers

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

9
1
85d
MIT

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

146
17
6m
Apache-2.0

Data parsing and validation using Python type hints

5.46K
488
5d
MIT

Run-time type checker for Python

591
55
12d
n/a

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

96
5
6m
MIT

Stub packages

Collection of library stubs for Python, with static types

2.02K
1K
5d
Apache-2.0

PEP-484 stubs for Django

589
143
6d
MIT

PEP-484 stubs for django-rest-framework

184
37
25d
MIT

Experimental typing stubs for NumPy

280
31
8m
n/a

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

1.58K
61
6d
BSD-2-Clause

Mypy plugin and stubs for SQLAlchemy

376
74
16d
Apache-2.0

gRPC typing stubs for Python

13
10
17d
MIT

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

113
8
23d
MIT

Stubs for PyQt5

42
20
6d
GPL-3.0

Stubs with type annotations for ordered-set Python library

2
0
1y 23d
MIT

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

96
31
38d
Apache-2.0

Typed interface stubs for Pythonista iOS

12
3
1y 10m
Apache-2.0

MyPy types for WSGI applications

0
0
61d
MIT

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

180
58
12d
Apache-2.0

Backports and improvements

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

175
44
60d
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
6m
n/a

An enhanced version of the Python typing library.

6
2
2y 4m
MIT

Types that make coding in Python quick and safe.

15
1
1y 4m
MIT

Linters

The strictest and most opinionated python linter ever!

1.38K
266
5d
MIT

A plugin for flake8 integrating Mypy.

106
17
8m
MIT

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

21
10
4m
MIT

flake8 plugin to validate annotations complexity

29
8
83d
MIT

Flake8 Type Annotation Checking

48
2
5m
MIT

Testing

Mypy static type checker plugin for Pytest

185
31
107d
MIT

pytest plugin for testing mypy types, stubs, and plugins

46
6
103d
MIT

pytest plugin to test mypy static type analysis

11
2
10m
n/a

Working with types

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

3.27K
124
18d
n/a

A static type analyzer for Python code

3.12K
182
5d
n/a

Auto-generate PEP-484 annotations

1.17K
48
110d
Apache-2.0

Generate PyAnnotate annotations from your pytest tests.

75
8
1y 89d
Apache-2.0

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

94
14
4m
MIT

open source tools to generate mypy stubs from protobufs

325
51
9d
Apache-2.0

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

9.96K
1.62K
6d
n/a

Runtime inspection utilities for Python typing module

185
14
42d
MIT

Lib for working with typed objects and JSON.

Mypy plugins

mypy plugin for PynamoDB

1
1
9m
Apache-2.0

Plugin for mypy to support zope.interface

27
5
7d
MIT

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

9.96K
1.62K
6d
n/a

mypy plugin for loguru

2
1
32d
MIT

Integrations

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

274
10
1y 101d
Apache-2.0

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

80
8
4y 42d
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

94.32K
18.48K
24d
n/a

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

43
3
10d
n/a