typing_extensions

The typing module was added to the standard library in Python 3.5, but many new features have been added to the module since then. This means users of older Python versions who are unable to upgrade will not be able to take advantage of new types added to the typing module, such as typing.Protocol or typing.TypedDict. The typing_extensions module contains backports of these changes. Experimental types that will eventually be added to the ``typing`` module are also included in typing_extensions.


License
PSF-2.0
Install
conda install -c anaconda typing_extensions

Documentation

Typing Extensions

Chat at https://gitter.im/python/typing

Documentation – PyPI

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, <(x+1), where x.y is the first version that includes all features you need.

Included items

See the documentation for a complete listing of module contents.

Contributing

See CONTRIBUTING.md for how to contribute to typing_extensions.