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.