1"""Private counterpart of ``numpy.typing``."""
2
3import sys
4
5from ._array_like import (
6 NDArray as NDArray,
7 _ArrayLike as _ArrayLike,
8 _ArrayLikeAnyString_co as _ArrayLikeAnyString_co,
9 _ArrayLikeBool_co as _ArrayLikeBool_co,
10 _ArrayLikeBytes_co as _ArrayLikeBytes_co,
11 _ArrayLikeComplex128_co as _ArrayLikeComplex128_co,
12 _ArrayLikeComplex_co as _ArrayLikeComplex_co,
13 _ArrayLikeDT64_co as _ArrayLikeDT64_co,
14 _ArrayLikeFloat64_co as _ArrayLikeFloat64_co,
15 _ArrayLikeFloat_co as _ArrayLikeFloat_co,
16 _ArrayLikeInt as _ArrayLikeInt,
17 _ArrayLikeInt_co as _ArrayLikeInt_co,
18 _ArrayLikeNumber_co as _ArrayLikeNumber_co,
19 _ArrayLikeObject_co as _ArrayLikeObject_co,
20 _ArrayLikeStr_co as _ArrayLikeStr_co,
21 _ArrayLikeString_co as _ArrayLikeString_co,
22 _ArrayLikeTD64_co as _ArrayLikeTD64_co,
23 _ArrayLikeUInt_co as _ArrayLikeUInt_co,
24 _ArrayLikeVoid_co as _ArrayLikeVoid_co,
25 _FiniteNestedSequence as _FiniteNestedSequence,
26 _SupportsArray as _SupportsArray,
27 _SupportsArrayFunc as _SupportsArrayFunc,
28)
29
30#
31from ._char_codes import (
32 _BoolCodes as _BoolCodes,
33 _ByteCodes as _ByteCodes,
34 _BytesCodes as _BytesCodes,
35 _CDoubleCodes as _CDoubleCodes,
36 _CharacterCodes as _CharacterCodes,
37 _CLongDoubleCodes as _CLongDoubleCodes,
38 _Complex64Codes as _Complex64Codes,
39 _Complex128Codes as _Complex128Codes,
40 _ComplexFloatingCodes as _ComplexFloatingCodes,
41 _CSingleCodes as _CSingleCodes,
42 _DoubleCodes as _DoubleCodes,
43 _DT64Codes as _DT64Codes,
44 _FlexibleCodes as _FlexibleCodes,
45 _Float16Codes as _Float16Codes,
46 _Float32Codes as _Float32Codes,
47 _Float64Codes as _Float64Codes,
48 _FloatingCodes as _FloatingCodes,
49 _GenericCodes as _GenericCodes,
50 _HalfCodes as _HalfCodes,
51 _InexactCodes as _InexactCodes,
52 _Int8Codes as _Int8Codes,
53 _Int16Codes as _Int16Codes,
54 _Int32Codes as _Int32Codes,
55 _Int64Codes as _Int64Codes,
56 _IntCCodes as _IntCCodes,
57 _IntCodes as _IntCodes,
58 _IntegerCodes as _IntegerCodes,
59 _IntPCodes as _IntPCodes,
60 _LongCodes as _LongCodes,
61 _LongDoubleCodes as _LongDoubleCodes,
62 _LongLongCodes as _LongLongCodes,
63 _NumberCodes as _NumberCodes,
64 _ObjectCodes as _ObjectCodes,
65 _ShortCodes as _ShortCodes,
66 _SignedIntegerCodes as _SignedIntegerCodes,
67 _SingleCodes as _SingleCodes,
68 _StrCodes as _StrCodes,
69 _StringCodes as _StringCodes,
70 _TD64Codes as _TD64Codes,
71 _UByteCodes as _UByteCodes,
72 _UInt8Codes as _UInt8Codes,
73 _UInt16Codes as _UInt16Codes,
74 _UInt32Codes as _UInt32Codes,
75 _UInt64Codes as _UInt64Codes,
76 _UIntCCodes as _UIntCCodes,
77 _UIntCodes as _UIntCodes,
78 _UIntPCodes as _UIntPCodes,
79 _ULongCodes as _ULongCodes,
80 _ULongLongCodes as _ULongLongCodes,
81 _UnsignedIntegerCodes as _UnsignedIntegerCodes,
82 _UShortCodes as _UShortCodes,
83 _VoidCodes as _VoidCodes,
84)
85
86#
87from ._dtype_like import (
88 _DTypeLike as _DTypeLike,
89 _DTypeLikeBool as _DTypeLikeBool,
90 _DTypeLikeBytes as _DTypeLikeBytes,
91 _DTypeLikeComplex as _DTypeLikeComplex,
92 _DTypeLikeComplex_co as _DTypeLikeComplex_co,
93 _DTypeLikeDT64 as _DTypeLikeDT64,
94 _DTypeLikeFloat as _DTypeLikeFloat,
95 _DTypeLikeInt as _DTypeLikeInt,
96 _DTypeLikeObject as _DTypeLikeObject,
97 _DTypeLikeStr as _DTypeLikeStr,
98 _DTypeLikeTD64 as _DTypeLikeTD64,
99 _DTypeLikeUInt as _DTypeLikeUInt,
100 _DTypeLikeVoid as _DTypeLikeVoid,
101 _HasDType as _HasDType,
102 _SupportsDType as _SupportsDType,
103 _VoidDTypeLike as _VoidDTypeLike,
104)
105
106#
107from ._nbit import (
108 _NBitByte as _NBitByte,
109 _NBitDouble as _NBitDouble,
110 _NBitHalf as _NBitHalf,
111 _NBitInt as _NBitInt,
112 _NBitIntC as _NBitIntC,
113 _NBitIntP as _NBitIntP,
114 _NBitLong as _NBitLong,
115 _NBitLongDouble as _NBitLongDouble,
116 _NBitLongLong as _NBitLongLong,
117 _NBitShort as _NBitShort,
118 _NBitSingle as _NBitSingle,
119)
120
121#
122from ._nbit_base import ( # type: ignore[deprecated]
123 NBitBase as NBitBase, # pyright: ignore[reportDeprecated]
124 _8Bit as _8Bit,
125 _16Bit as _16Bit,
126 _32Bit as _32Bit,
127 _64Bit as _64Bit,
128 _96Bit as _96Bit,
129 _128Bit as _128Bit,
130)
131
132#
133from ._nested_sequence import _NestedSequence as _NestedSequence
134
135#
136from ._scalars import (
137 _BoolLike_co as _BoolLike_co,
138 _CharLike_co as _CharLike_co,
139 _ComplexLike_co as _ComplexLike_co,
140 _FloatLike_co as _FloatLike_co,
141 _IntLike_co as _IntLike_co,
142 _NumberLike_co as _NumberLike_co,
143 _ScalarLike_co as _ScalarLike_co,
144 _TD64Like_co as _TD64Like_co,
145 _UIntLike_co as _UIntLike_co,
146 _VoidLike_co as _VoidLike_co,
147)
148
149#
150from ._shape import _AnyShape as _AnyShape, _Shape as _Shape, _ShapeLike as _ShapeLike
151
152#
153from ._ufunc import (
154 _GUFunc_Nin2_Nout1 as _GUFunc_Nin2_Nout1,
155 _UFunc_Nin1_Nout1 as _UFunc_Nin1_Nout1,
156 _UFunc_Nin1_Nout2 as _UFunc_Nin1_Nout2,
157 _UFunc_Nin2_Nout1 as _UFunc_Nin2_Nout1,
158 _UFunc_Nin2_Nout2 as _UFunc_Nin2_Nout2,
159)
160
161# wrapping the public aliases in `TypeAliasType` helps with introspection readability
162if sys.version_info >= (3, 12):
163 from typing import TypeAliasType
164
165 from ._array_like import ArrayLike as _ArrayLikeAlias
166 from ._dtype_like import DTypeLike as _DTypeLikeAlias
167
168 ArrayLike = TypeAliasType("ArrayLike", _ArrayLikeAlias)
169 DTypeLike = TypeAliasType("DTypeLike", _DTypeLikeAlias)
170
171else:
172 from ._array_like import ArrayLike as ArrayLike
173 from ._dtype_like import DTypeLike as DTypeLike