skillfed

typing-extensions

Backported and Experimental Type Hints for Python 3.9+

typing-extensions Permissive license PSF-2.0 Active 581 v4.16.0 released

Install

typing-extensions on PyPI

pip

pip install typing-extensions

uv

uv add typing-extensions

poetry

poetry add typing-extensions

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 — 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

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

About typing-extensions

from the package's own PyPI description — quoted content, verbatim

Typing Extensions

Chat at https://gitter.im/python/typing (image)

DocumentationPyPI

Overview

The typing_extensions module serves two related purposes:

  • Enable use of new type system features on older Python versions. For example, typing.TypeGuard is new in Python 3.10, but typing_extensions allows users on previous Python versions to use it too.
  • Enable experimentation with new type system PEPs before they are accepted and added to the typing module.

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.
type hints backporttyping extensions pythonforward compatibility type checkingexperimental type system featurespython 3.9 type annotationstypeguard typevar backportstatic type checker support

Similar packages