@@ -13,6 +13,7 @@ from types import (
1313 BuiltinFunctionType ,
1414 CodeType ,
1515 FunctionType ,
16+ GenericAlias ,
1617 MethodDescriptorType ,
1718 MethodType ,
1819 MethodWrapperType ,
@@ -22,20 +23,20 @@ from types import (
2223)
2324from typing_extensions import Never as _Never , ParamSpec as _ParamSpec , deprecated
2425
25- if sys .version_info >= (3 , 9 ):
26- from types import GenericAlias
2726if sys .version_info >= (3 , 10 ):
2827 from types import UnionType
2928
3029__all__ = [
3130 "AbstractSet" ,
31+ "Annotated" ,
3232 "Any" ,
3333 "AnyStr" ,
3434 "AsyncContextManager" ,
3535 "AsyncGenerator" ,
3636 "AsyncIterable" ,
3737 "AsyncIterator" ,
3838 "Awaitable" ,
39+ "BinaryIO" ,
3940 "ByteString" ,
4041 "Callable" ,
4142 "ChainMap" ,
@@ -49,10 +50,12 @@ __all__ = [
4950 "Deque" ,
5051 "Dict" ,
5152 "Final" ,
53+ "ForwardRef" ,
5254 "FrozenSet" ,
5355 "Generator" ,
5456 "Generic" ,
5557 "Hashable" ,
58+ "IO" ,
5659 "ItemsView" ,
5760 "Iterable" ,
5861 "Iterator" ,
@@ -61,12 +64,16 @@ __all__ = [
6164 "Literal" ,
6265 "Mapping" ,
6366 "MappingView" ,
67+ "Match" ,
6468 "MutableMapping" ,
6569 "MutableSequence" ,
6670 "MutableSet" ,
6771 "NamedTuple" ,
6872 "NewType" ,
73+ "NoReturn" ,
6974 "Optional" ,
75+ "OrderedDict" ,
76+ "Pattern" ,
7077 "Protocol" ,
7178 "Reversible" ,
7279 "Sequence" ,
@@ -80,6 +87,7 @@ __all__ = [
8087 "SupportsInt" ,
8188 "SupportsRound" ,
8289 "Text" ,
90+ "TextIO" ,
8391 "Tuple" ,
8492 "Type" ,
8593 "TypeVar" ,
@@ -96,14 +104,8 @@ __all__ = [
96104 "no_type_check_decorator" ,
97105 "overload" ,
98106 "runtime_checkable" ,
99- "ForwardRef" ,
100- "NoReturn" ,
101- "OrderedDict" ,
102107]
103108
104- if sys .version_info >= (3 , 9 ):
105- __all__ += ["Annotated" , "BinaryIO" , "IO" , "Match" , "Pattern" , "TextIO" ]
106-
107109if sys .version_info >= (3 , 10 ):
108110 __all__ += ["Concatenate" , "ParamSpec" , "ParamSpecArgs" , "ParamSpecKwargs" , "TypeAlias" , "TypeGuard" , "is_typeddict" ]
109111
@@ -203,7 +205,6 @@ class _SpecialForm(_Final):
203205
204206Union : _SpecialForm
205207Generic : _SpecialForm
206- # Protocol is only present in 3.8 and later, but mypy needs it unconditionally
207208Protocol : _SpecialForm
208209Callable : _SpecialForm
209210Type : _SpecialForm
@@ -386,8 +387,7 @@ ChainMap = _Alias()
386387
387388OrderedDict = _Alias ()
388389
389- if sys .version_info >= (3 , 9 ):
390- Annotated : _SpecialForm
390+ Annotated : _SpecialForm
391391
392392# Predefined type variables.
393393AnyStr = TypeVar ("AnyStr" , str , bytes ) # noqa: Y001
@@ -858,19 +858,12 @@ _get_type_hints_obj_allowed_types: typing_extensions.TypeAlias = ( # noqa: Y042
858858 | MethodDescriptorType
859859)
860860
861- if sys .version_info >= (3 , 9 ):
862- def get_type_hints (
863- obj : _get_type_hints_obj_allowed_types ,
864- globalns : dict [str , Any ] | None = None ,
865- localns : Mapping [str , Any ] | None = None ,
866- include_extras : bool = False ,
867- ) -> dict [str , Any ]: ...
868-
869- else :
870- def get_type_hints (
871- obj : _get_type_hints_obj_allowed_types , globalns : dict [str , Any ] | None = None , localns : Mapping [str , Any ] | None = None
872- ) -> dict [str , Any ]: ...
873-
861+ def get_type_hints (
862+ obj : _get_type_hints_obj_allowed_types ,
863+ globalns : dict [str , Any ] | None = None ,
864+ localns : Mapping [str , Any ] | None = None ,
865+ include_extras : bool = False ,
866+ ) -> dict [str , Any ]: ...
874867def get_args (tp : Any ) -> tuple [Any , ...]: ...
875868
876869if sys .version_info >= (3 , 10 ):
@@ -879,15 +872,10 @@ if sys.version_info >= (3, 10):
879872 @overload
880873 def get_origin (tp : UnionType ) -> type [UnionType ]: ...
881874
882- if sys .version_info >= (3 , 9 ):
883- @overload
884- def get_origin (tp : GenericAlias ) -> type : ...
885- @overload
886- def get_origin (tp : Any ) -> Any | None : ...
887-
888- else :
889- def get_origin (tp : Any ) -> Any | None : ...
890-
875+ @overload
876+ def get_origin (tp : GenericAlias ) -> type : ...
877+ @overload
878+ def get_origin (tp : Any ) -> Any | None : ...
891879@overload
892880def cast (typ : type [_T ], val : Any ) -> _T : ...
893881@overload
@@ -914,8 +902,6 @@ if sys.version_info >= (3, 11):
914902# Type constructors
915903
916904class NamedTuple (tuple [Any , ...]):
917- if sys .version_info < (3 , 9 ):
918- _field_types : ClassVar [dict [str , type ]]
919905 _field_defaults : ClassVar [dict [str , Any ]]
920906 _fields : ClassVar [tuple [str , ...]]
921907 # __orig_bases__ sometimes exists on <3.12, but not consistently
@@ -942,9 +928,8 @@ class NamedTuple(tuple[Any, ...]):
942928@type_check_only
943929class _TypedDict (Mapping [str , object ], metaclass = ABCMeta ):
944930 __total__ : ClassVar [bool ]
945- if sys .version_info >= (3 , 9 ):
946- __required_keys__ : ClassVar [frozenset [str ]]
947- __optional_keys__ : ClassVar [frozenset [str ]]
931+ __required_keys__ : ClassVar [frozenset [str ]]
932+ __optional_keys__ : ClassVar [frozenset [str ]]
948933 # __orig_bases__ sometimes exists on <3.12, but not consistently,
949934 # so we only add it to the stub on 3.12+
950935 if sys .version_info >= (3 , 12 ):
@@ -964,17 +949,16 @@ class _TypedDict(Mapping[str, object], metaclass=ABCMeta):
964949 def items (self ) -> dict_items [str , object ]: ...
965950 def keys (self ) -> dict_keys [str , object ]: ...
966951 def values (self ) -> dict_values [str , object ]: ...
967- if sys .version_info >= (3 , 9 ):
968- @overload
969- def __or__ (self , value : typing_extensions .Self , / ) -> typing_extensions .Self : ...
970- @overload
971- def __or__ (self , value : dict [str , Any ], / ) -> dict [str , object ]: ...
972- @overload
973- def __ror__ (self , value : typing_extensions .Self , / ) -> typing_extensions .Self : ...
974- @overload
975- def __ror__ (self , value : dict [str , Any ], / ) -> dict [str , object ]: ...
976- # supposedly incompatible definitions of __or__ and __ior__
977- def __ior__ (self , value : typing_extensions .Self , / ) -> typing_extensions .Self : ... # type: ignore[misc]
952+ @overload
953+ def __or__ (self , value : typing_extensions .Self , / ) -> typing_extensions .Self : ...
954+ @overload
955+ def __or__ (self , value : dict [str , Any ], / ) -> dict [str , object ]: ...
956+ @overload
957+ def __ror__ (self , value : typing_extensions .Self , / ) -> typing_extensions .Self : ...
958+ @overload
959+ def __ror__ (self , value : dict [str , Any ], / ) -> dict [str , object ]: ...
960+ # supposedly incompatible definitions of __or__ and __ior__
961+ def __ior__ (self , value : typing_extensions .Self , / ) -> typing_extensions .Self : ... # type: ignore[misc]
978962
979963@final
980964class ForwardRef (_Final ):
@@ -985,11 +969,8 @@ class ForwardRef(_Final):
985969 __forward_is_argument__ : bool
986970 __forward_is_class__ : bool
987971 __forward_module__ : Any | None
988- if sys .version_info >= (3 , 9 ):
989- # The module and is_class arguments were added in later Python 3.9 versions.
990- def __init__ (self , arg : str , is_argument : bool = True , module : Any | None = None , * , is_class : bool = False ) -> None : ...
991- else :
992- def __init__ (self , arg : str , is_argument : bool = True ) -> None : ...
972+
973+ def __init__ (self , arg : str , is_argument : bool = True , module : Any | None = None , * , is_class : bool = False ) -> None : ...
993974
994975 if sys .version_info >= (3 , 13 ):
995976 @overload
@@ -1019,12 +1000,10 @@ class ForwardRef(_Final):
10191000 * ,
10201001 recursive_guard : frozenset [str ],
10211002 ) -> Any | None : ...
1022- elif sys . version_info >= ( 3 , 9 ) :
1003+ else :
10231004 def _evaluate (
10241005 self , globalns : dict [str , Any ] | None , localns : Mapping [str , Any ] | None , recursive_guard : frozenset [str ]
10251006 ) -> Any | None : ...
1026- else :
1027- def _evaluate (self , globalns : dict [str , Any ] | None , localns : Mapping [str , Any ] | None ) -> Any | None : ...
10281007
10291008 def __eq__ (self , other : object ) -> bool : ...
10301009 def __hash__ (self ) -> int : ...
0 commit comments