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: Aug. 7, 2022, 6:04 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

12.29K
2.05K
5m
n/a

A static analysis tool for Python

163
17
5m
Apache-2.0

Static type checker for Python

7.65K
422
5m
n/a

A static type analyzer for Python code

3.62K
229
5m
n/a

Dynamic type checkers

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

1.05K
21
5m
MIT

Data parsing and validation using Python type hints

9.1K
847
6m
MIT

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

172
19
7m
Apache-2.0

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

77
0
9m
n/a

Type-safe, strict Python. Works well with standard Python

8
4
6m
MIT

Run-time type checker for Python

789
70
8m
n/a

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

145
9
6m
MIT

trycast parses JSON-like values whose shape is defined by TypedDicts and other standard Python type hints.

34
3
1y 42d
MIT

Stub packages

ASGI specification and utilities

975
143
6m
BSD-3-Clause

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

93
4
1y 7m
n/a

Type stubs for Celery and its related packages

7
5
6m
Apache-2.0

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

188
55
1y 5m
Apache-2.0

PEP-484 stubs for Django

823
220
5m
MIT

PEP-484 stubs for django-rest-framework

249
57
7m
MIT

gRPC typing stubs for Python

18
16
5m
MIT

Type stubs for the lxml package

16
20
6m
Apache-2.0

Stubs with type annotations for ordered-set Python library

2
0
2y 6m
MIT

Stubs for PyQt5

55
24
6m
GPL-3.0

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

108
34
7m
Apache-2.0

Typed interface stubs for Pythonista iOS

12
3
3y 114d
Apache-2.0

Mypy plugin and stubs for SQLAlchemy

468
91
6m
Apache-2.0

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

836
20
6m
Apache-2.0

Collection of library stubs for Python, with static types

2.63K
1.24K
5m
Apache-2.0

MyPy types for WSGI applications

2
0
1y 7m
MIT

Additional types

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

19
0
6m
MIT

Rust like Option and Result types in Python

17
2
1y 5m
MIT

๐Ÿ‘ป Phantom types for Python

65
2
6m
BSD-3-Clause

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

2.12K
88
5m
BSD-2-Clause

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

22
2
1y 10m
Apache-2.0

Types that make coding in Python quick and safe.

17
1
2y 9m
MIT

Backports and improvements

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

198
52
6m
n/a

Python static typing home. Contains the source for typing_extensions and the documentation. Also hosts a user help forum.

1.14K
193
5m
n/a

Backport Python 3.8+ typing utils & add issubtype & more

7
2
1y 76d
Apache-2.0

An enhanced version of the Python typing library.

6
2
3y 10m
MIT

Linters

flake8 plugin to validate annotations complexity

33
8
11m
MIT

Flake8 Type Annotation Checking

78
4
6m
MIT

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

34
16
5m
MIT

Flake8 plugin for managing type-checking imports & forward references

22
4
8m
BSD-3-Clause

flake8 plugin which checks that typing imports are properly guarded

35
5
6m
MIT

Flake8 plugin for managing type-checking imports & forward references.

29
3
6m
BSD-3-Clause

The strictest and most opinionated python linter ever!

1.78K
325
5m
MIT

Testing

Test mypy plugins, stubs, custom types.

1
1
1y 24d
MIT

pytest plugin for testing mypy types, stubs, and plugins

59
15
6m
MIT

pytest plugin to test mypy static type analysis

14
3
7m
n/a

Mypy static type checker plugin for Pytest

200
33
6m
MIT

Working with types

Tool for translation type comments to type annotations in Python

106
7
11m
MIT

A static type analyzer for Python code

3.62K
229
5m
n/a

open source tools to generate mypy stubs from protobufs

427
64
6m
Apache-2.0

Silence mypy by adding or removing code comments

4
0
6m
MIT

Optional static typing for Python

12.29K
2.05K
5m
n/a

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

123
17
7m
MIT

Pre-commit hook for upgrading type hints

41
3
5m
BSD-3-Clause

Make mypy more effective

3
1
1y 44d
MIT

Runtime inspection utilities for Python typing module

243
23
9m
MIT

A Python type explainer!

3
0
4m
MIT

Helper tools to add annotations to existing code

A Python library that generates static type annotations by collecting runtime types

3.67K
134
10m
n/a

Auto-generate PEP-484 annotations

1.27K
60
10m
Apache-2.0

Performant type-checking for python.

5.77K
382
5m
MIT

Generate PyAnnotate annotations from your pytest tests.

79
9
8m
Apache-2.0

A static type analyzer for Python code

3.62K
229
5m
n/a

Type4Py: Deep Similarity Learning-Based Type Inference for Python

34
4
6m
Apache-2.0

Code for "Typilus: Neural Type Hints" PLDI 2020

41
12
1y 67d
MIT

Makes typed arguments Optional when the default argument is None

9
3
6m
MIT

Mypy plugins

mypy plugin to type check Kubernetes resources

16
1
11m
Apache-2.0

mypy plugin for loguru

6
1
6m
MIT

Plugin for mypy to support zope.interface

32
8
6m
MIT

Optional static typing for Python

12.29K
2.05K
5m
n/a

mypy plugin for PynamoDB

1
1
2y 78d
Apache-2.0

Integrations

The mypy playground. Try mypy with your web browser.

44
7
7m
MIT

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

290
12
2y 8m
Apache-2.0

Documentation and issues for Pylance

1.12K
388
5m
CC-BY-4.0

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

86
9
5y 6m
MIT

Run isort, pyupgrade, mypy, pylint, flake8, and more on Jupyter Notebooks

419
24
6m
MIT

PEPs

Third-party articles

Communities

Related

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

116.48K
20.68K
7m
n/a

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

49
5
1y 5m
n/a