1# Licensed under a 3-clause BSD style license - see LICENSE.rst 2""" 3Support for ``typing`` py3.9+ features while min version is py3.8. 4""" 5 6from typing import * 7 8try: # py 3.9+ 9 from typing import Annotated 10except (ImportError, ModuleNotFoundError): # optional dependency 11 try: 12 from typing_extensions import Annotated 13 except (ImportError, ModuleNotFoundError): 14 15 Annotated = NotImplemented 16 17 else: 18 from typing_extensions import * # override typing 19 20HAS_ANNOTATED = Annotated is not NotImplemented 21