typing-extensions
Backported and Experimental Type Hints for Python 3.9+
Decision gist · record as of 2026-08-14
Yes. typing_extensions is a foundational, zero-friction dependency with active maintenance, no security vulnerabilities, and permissive licensing. It is essential for any project using modern type hints on Python 3.9+ or experimenting with new typing features. The library's position as part of the official Python ecosystem and its treatment by major type checkers makes it a safe, standard choice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; static type checkers (mypy, pyright) must be configured to recognize typing_extensions definitions.
- Installs with no runtime dependencies and low friction.
- Actively maintained with a recent release; the repository shows consistent activity and is part of the official Python ecosystem.
License · maintenance · safety
PSF-2.0 (permissive) — Licensed under PSF-2.0 (permissive), allowing free use, modification, and distribution in both open-source and proprietary projects with minimal restrictions.
last release 2026-07-02 (43 days) · last repo commit 2026-08-13 · 581 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,904,238,788 downloads/mo, #3 on PyPI
Alternatives
Verify before relying
pip install typing-extensions==4.16.0
from typing_extensions import TypeGuard
def is_str_list(val: list) -> TypeGuard[list[str]]:
return all(isinstance(x, str) for x in val)- Which specific type system PEPs are currently under experimentation in this version.
- Whether all typing_extensions definitions are recognized identically by all major static type checkers.
- Performance characteristics when used as a dependency in large codebases.
What it is and what it does
typing_extensions is a backport library that makes newer Python typing features available on older Python versions (3.9+) and provides a staging ground for experimental type system features before they are standardized. It serves two purposes: enabling code written for newer Python versions to run on older ones by providing forward-compatible type hints, and allowing the Python community to experiment with proposed type system improvements through PEPs before they are officially adopted into the typing module.
The library is treated specially by static type checkers like mypy and pyright, which recognize typing_extensions definitions as equivalent to their standard library counterparts. With no runtime dependencies and a pure-Python wheel distribution, it integrates seamlessly into any Python project. It uses semantic versioning, making it safe to pin with compatible-release specifiers.
Use it for
- Use it to access TypeGuard, Literal, or other modern type hints on Python 3.9 when your codebase must support that version.
- Use it to experiment with proposed type system features (via PEPs) before they land in the standard typing module.
- Use it in libraries that need to support multiple Python versions while offering type hints for all of them.
- Use it to enable static type checkers to validate code that uses forward-looking type annotations.
- Use it as a dependency in type-checking workflows where you need consistent type hint behavior across Python versions.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
typing_extensions is a foundational, zero-friction dependency with active maintenance, no security vulnerabilities, and permissive licensing. It is essential for any project using modern type hints on Python 3.9+ or experimenting with new typing features. The library's position as part of the official Python ecosystem and its treatment by major type checkers makes it a safe, standard choice.
Install
typing-extensions on PyPI
Before you install
Installs with no runtime dependencies and low friction. Actively maintained with a recent release; the repository shows consistent activity and is part of the official Python ecosystem.
Requires Python 3.9 or later; static type checkers (mypy, pyright) must be configured to recognize typing_extensions definitions.
License in practice
Licensed under PSF-2.0 (permissive), allowing free use, modification, and distribution in both open-source and proprietary projects with minimal restrictions.
Quickstart
pip install typing-extensions==4.16.0
from typing_extensions import TypeGuard
def is_str_list(val: list) -> TypeGuard[list[str]]:
return all(isinstance(x, str) for x in val)
Verify before relying
- Which specific type system PEPs are currently under experimentation in this version.
- Whether all typing_extensions definitions are recognized identically by all major static type checkers.
- Performance characteristics when used as a dependency in large codebases.
Package facts
| License | PSF-2.0 permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 43 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,904,238,788 / month, #3 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: 3.9Topic :: Software Development |
Evidence: typing_extensions-4.16.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “experimental type features”
- typing-extensionsProvides backported and experimental type hints for Python 3.9+,…
- langchain-experimentalProvides experimental LangChain components and research prototypes…
- great-expectations-experimentalExperimental extensions and early-stage features for Great…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
Provides type system extensions for Python programs checked with mypy, including support for special typing constructs that the mypy type checker and mypyc compiler recognize.
See also typing · typing-inspect · eval-type-backport · logutils · types-backports · annotated-types · optype · types-s3transfer · typing-aliases · pickle5