typing-extensions
Backported and Experimental Type Hints for Python 3.9+
Install
typing-extensions on PyPI
pip
pip install typing-extensionsuv
uv add typing-extensionspoetry
poetry add typing-extensionsPackage 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 — 42 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the 100 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: typing_extensions-4.16.0-py3-none-any.whl
Keywords: annotations, backport, checker, checking, function, hinting, hints, type, typechecking, typehinting, typehints, typing
About typing-extensions
from the package's own PyPI description — quoted content, verbatim
Typing Extensions
Chat at https://gitter.im/python/typing (image)
Overview
The typing_extensions module serves two related purposes:
- Enable use of new type system features on older Python versions. For example,
typing.TypeGuardis new in Python 3.10, buttyping_extensionsallows users on previous Python versions to use it too. - Enable experimentation with new type system PEPs before they are accepted and
added to the
typingmodule.
typing_extensions is treated specially by static type checkers such as
mypy and pyright. Objects defined in typing_extensions are treated the same
way as equivalent forms in typing.
typing_extensions uses
Semantic Versioning. The
major version will be incremented only for backwards-incompatible changes.
Therefore, it's safe to depend
on typing_extensions like this: typing_extensions ~=x.y,
where x.y is the first version that includes all features you...
Read as markdown · JSON record · Source repository · Homepage · Docs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Backports and experiments with Python's type-hinting features, enabling use of new typing constructs on older Python versions and allowing early exploration of typing PEPs before they enter the standard library.
Minimal friction: pure-Python wheel with no runtime dependencies. Actively maintained with a recent release 42 days ago and ongoing repository activity.
PSF-2.0 (Python Software Foundation License 2.0) is permissive and poses no restrictions on commercial or proprietary use.
Usage
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)
Requires Python 3.9 or later.
Verdict: A stable, zero-dependency utility for type-hinting backports and experimentation, actively maintained and widely adopted (top 100 PyPI). Safe to depend on with semantic versioning guarantees and no known vulnerabilities.
Needs verification
- Whether typing_extensions is commonly pinned to a specific minor version or used with compatible-release specifiers in practice.
- Performance characteristics when used as a transitive dependency in large type-checking workflows.
Similar packages
permissive · top 1,000 on PyPI
typing-inspectpermissive · top 1,000 on PyPI
botocore-stubspermissive · top 1,000 on PyPI
types-s3transferpermissive · top 1,000 on PyPI
mypypermissive · top 1,000 on PyPI
backports.tarfilepermissive · top 1,000 on PyPI
backports.zstdpermissive · top 1,000 on PyPI
pandas-stubspermissive · top 1,000 on PyPI
stripepermissive · top 1,000 on PyPI
beartypepermissive · top 1,000 on PyPI