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