1# Typing Extensions
2
3[![Chat at https://gitter.im/python/typing](https://badges.gitter.im/python/typing.svg)](https://gitter.im/python/typing)
4
5[Documentation](https://typing-extensions.readthedocs.io/en/latest/#)6[PyPI](https://pypi.org/project/typing-extensions/)
7
8## Overview
9
10The `typing_extensions` module serves two related purposes:
11
12- Enable use of new type system features on older Python versions. For example,
13  `typing.TypeGuard` is new in Python 3.10, but `typing_extensions` allows
14  users on previous Python versions to use it too.
15- Enable experimentation with new type system PEPs before they are accepted and
16  added to the `typing` module.
17
18`typing_extensions` is treated specially by static type checkers such as
19mypy and pyright. Objects defined in `typing_extensions` are treated the same
20way as equivalent forms in `typing`.
21
22`typing_extensions` uses
23[Semantic Versioning](https://semver.org/). The
24major version will be incremented only for backwards-incompatible changes.
25Therefore, it's safe to depend
26on `typing_extensions` like this: `typing_extensions >=x.y, <(x+1)`,
27where `x.y` is the first version that includes all features you need.
28
29## Included items
30
31See [the documentation](https://typing-extensions.readthedocs.io/en/latest/#) for a
32complete listing of module contents.
33
34## Contributing
35
36See [CONTRIBUTING.md](https://github.com/python/typing_extensions/blob/main/CONTRIBUTING.md)
37for how to contribute to `typing_extensions`.
38