awesome-python-typing
Collection of awesome Python types, stubs, plugins, and tools to work with them.
https://github.com/typeddjango/awesome-python-typing
Last synced: 30 days ago
JSON representation
Filtered by typing. Clear filters
Additional types
- meiga - Simple, typed and monad-based Result type.
- option - Rust like Option and Result types.
- phantom-types - Phantom types.
- safetywrap - Fully typesafe, Rust-like Result and Option types.
- typet - Length-bounded types, dynamic object validation.
Dynamic type checkers
- trycast - Parse JSON-like values whose shape is defined by typed dictionaries (TypedDicts) and other standard Python type hints.
Integrations
Mypy plugins
- mypy-pycharm-plugin - Mypy integration for PyCharm.
Static type checkers
- basedmypy - Based static typing with baseline functionality.
- basedpyright - Pyright fork with improvements to VSCode support and various other fixes.
- mypy - Optional static typing (PEP 484).
- pyanalyze - Extensible static analyzer and type checker.
- pytype - Tool to check and infer types - without requiring type annotations.
- pyrefly - A fast type checker and language server for Python.
Stub packages
- sqlalchemy-stubs - Stubs for SQLAlchemy.
- torchtyping - Enhanced type annotations for PyTorch.
- typeshed - Collection of library stubs, with static types.
Tools
Helper tools to add annotations to existing code
- autotyping - Automatically add simple return type annotations for functions (bool, None, Optional).
- infer-types - CLI tool to automatically infer and add type annotations into Python code.
- pytest-monkeytype - MonkeyType plugin for pytest.
- RightTyper - A tool that generates types for your function arguments and return values. RightTyper lets your code run at nearly full speed with almost no memory overhead.
Linters
- flake8-type-checking - Plugin to help you guard any type-annotation-only import correctly.
- flake8-typing-imports - Plugin which checks that typing imports are properly guarded.
Mypy plugins
- loguru-mypy - Plugin for loguru support.
Testing
- mypy-test - Test mypy plugins, stubs, custom types.
Working with types
- mypy-baseline - Integrate mypy with existing codebase. A CLI tool that filters out existing type errors and reports only new ones.
- retype - Another tool to apply stubs to code.
- typeforce - CLI tool that enriches your Python environment with type annotations, empowering mypy.
-
typing-inspect
- The typing_inspect module defines experimental API for runtime inspection of types defined in the
typingmodule.