diff --git a/python-typing-extensions.spec b/python-typing-extensions.spec index 65ddbc5..e67e438 100644 --- a/python-typing-extensions.spec +++ b/python-typing-extensions.spec @@ -17,21 +17,30 @@ BuildRequires: python3-pytest %global _description %{expand: -Typing Extensions - Backported and Experimental Type Hints for Python - -The typing module was added to the standard library in Python 3.5 on a -provisional basis and will no longer be provisional in Python 3.7. -However, this means users of Python 3.5 - 3.6 who are unable to upgrade will not -be able to take advantage of new types added to the typing module, such as -typing.Text or typing.Coroutine. - -The typing_extensions module contains both backports of these changes as well as -experimental types that will eventually be added to the typing module, such as -Protocol. - -Users of other Python versions should continue to install and use the typing -module from PyPi instead of using this one unless specifically writing code that -must be compatible with multiple Python versions or requires experimental types.} +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 Python 3.6 through 3.9 to use it too. +- Enable experimentation with new type system PEPs before they are accepted and + added to the `typing` module. + +New features may be added to `typing_extensions` as soon as they are specified +in a PEP that has been added to the [python/peps](https://github.com/python/peps) +repository. If the PEP is accepted, the feature will then be added to `typing` +for the next CPython release. No typing PEP has been rejected so far, so we +haven't yet figured out how to deal with that possibility. + +Starting with version 4.0.0, `typing_extensions` uses +[Semantic Versioning](https://semver.org/). The +major version is incremented for all 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. + +`typing_extensions` supports Python versions 3.7 and higher. In the future, +support for older Python versions will be dropped some time after that version +reaches end of life.} %description %_description