@@ -690,6 +690,7 @@ class dtype(Generic[_DTypeScalar_co]):
690690 dtype : type [_DTypeScalar_co ],
691691 align : bool = ...,
692692 copy : bool = ...,
693+ metadata : dict [builtins .str , Any ] = ...,
693694 ) -> dtype [_DTypeScalar_co ]: ...
694695 # Overloads for string aliases, Python types, and some assorted
695696 # other special cases. Order is sometimes important because of the
@@ -701,108 +702,108 @@ class dtype(Generic[_DTypeScalar_co]):
701702 # first.
702703 # Builtin types
703704 @overload
704- def __new__ (cls , dtype : type [bool ], align : bool = ..., copy : bool = ...) -> dtype [bool_ ]: ...
705+ def __new__ (cls , dtype : type [bool ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [bool_ ]: ...
705706 @overload
706- def __new__ (cls , dtype : type [int ], align : bool = ..., copy : bool = ...) -> dtype [int_ ]: ...
707+ def __new__ (cls , dtype : type [int ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [int_ ]: ...
707708 @overload
708- def __new__ (cls , dtype : None | type [float ], align : bool = ..., copy : bool = ...) -> dtype [float_ ]: ...
709+ def __new__ (cls , dtype : None | type [float ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [float_ ]: ...
709710 @overload
710- def __new__ (cls , dtype : type [complex ], align : bool = ..., copy : bool = ...) -> dtype [complex_ ]: ...
711+ def __new__ (cls , dtype : type [complex ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [complex_ ]: ...
711712 @overload
712- def __new__ (cls , dtype : type [builtins .str ], align : bool = ..., copy : bool = ...) -> dtype [str_ ]: ...
713+ def __new__ (cls , dtype : type [builtins .str ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [str_ ]: ...
713714 @overload
714- def __new__ (cls , dtype : type [bytes ], align : bool = ..., copy : bool = ...) -> dtype [bytes_ ]: ...
715+ def __new__ (cls , dtype : type [bytes ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [bytes_ ]: ...
715716
716717 # `unsignedinteger` string-based representations and ctypes
717718 @overload
718- def __new__ (cls , dtype : _UInt8Codes | type [ct .c_uint8 ], align : bool = ..., copy : bool = ...) -> dtype [uint8 ]: ...
719+ def __new__ (cls , dtype : _UInt8Codes | type [ct .c_uint8 ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [uint8 ]: ...
719720 @overload
720- def __new__ (cls , dtype : _UInt16Codes | type [ct .c_uint16 ], align : bool = ..., copy : bool = ...) -> dtype [uint16 ]: ...
721+ def __new__ (cls , dtype : _UInt16Codes | type [ct .c_uint16 ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [uint16 ]: ...
721722 @overload
722- def __new__ (cls , dtype : _UInt32Codes | type [ct .c_uint32 ], align : bool = ..., copy : bool = ...) -> dtype [uint32 ]: ...
723+ def __new__ (cls , dtype : _UInt32Codes | type [ct .c_uint32 ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [uint32 ]: ...
723724 @overload
724- def __new__ (cls , dtype : _UInt64Codes | type [ct .c_uint64 ], align : bool = ..., copy : bool = ...) -> dtype [uint64 ]: ...
725+ def __new__ (cls , dtype : _UInt64Codes | type [ct .c_uint64 ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [uint64 ]: ...
725726 @overload
726- def __new__ (cls , dtype : _UByteCodes | type [ct .c_ubyte ], align : bool = ..., copy : bool = ...) -> dtype [ubyte ]: ...
727+ def __new__ (cls , dtype : _UByteCodes | type [ct .c_ubyte ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [ubyte ]: ...
727728 @overload
728- def __new__ (cls , dtype : _UShortCodes | type [ct .c_ushort ], align : bool = ..., copy : bool = ...) -> dtype [ushort ]: ...
729+ def __new__ (cls , dtype : _UShortCodes | type [ct .c_ushort ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [ushort ]: ...
729730 @overload
730- def __new__ (cls , dtype : _UIntCCodes | type [ct .c_uint ], align : bool = ..., copy : bool = ...) -> dtype [uintc ]: ...
731+ def __new__ (cls , dtype : _UIntCCodes | type [ct .c_uint ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [uintc ]: ...
731732
732733 # NOTE: We're assuming here that `uint_ptr_t == size_t`,
733734 # an assumption that does not hold in rare cases (same for `ssize_t`)
734735 @overload
735- def __new__ (cls , dtype : _UIntPCodes | type [ct .c_void_p ] | type [ct .c_size_t ], align : bool = ..., copy : bool = ...) -> dtype [uintp ]: ...
736+ def __new__ (cls , dtype : _UIntPCodes | type [ct .c_void_p ] | type [ct .c_size_t ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [uintp ]: ...
736737 @overload
737- def __new__ (cls , dtype : _UIntCodes | type [ct .c_ulong ], align : bool = ..., copy : bool = ...) -> dtype [uint ]: ...
738+ def __new__ (cls , dtype : _UIntCodes | type [ct .c_ulong ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [uint ]: ...
738739 @overload
739- def __new__ (cls , dtype : _ULongLongCodes | type [ct .c_ulonglong ], align : bool = ..., copy : bool = ...) -> dtype [ulonglong ]: ...
740+ def __new__ (cls , dtype : _ULongLongCodes | type [ct .c_ulonglong ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [ulonglong ]: ...
740741
741742 # `signedinteger` string-based representations and ctypes
742743 @overload
743- def __new__ (cls , dtype : _Int8Codes | type [ct .c_int8 ], align : bool = ..., copy : bool = ...) -> dtype [int8 ]: ...
744+ def __new__ (cls , dtype : _Int8Codes | type [ct .c_int8 ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [int8 ]: ...
744745 @overload
745- def __new__ (cls , dtype : _Int16Codes | type [ct .c_int16 ], align : bool = ..., copy : bool = ...) -> dtype [int16 ]: ...
746+ def __new__ (cls , dtype : _Int16Codes | type [ct .c_int16 ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [int16 ]: ...
746747 @overload
747- def __new__ (cls , dtype : _Int32Codes | type [ct .c_int32 ], align : bool = ..., copy : bool = ...) -> dtype [int32 ]: ...
748+ def __new__ (cls , dtype : _Int32Codes | type [ct .c_int32 ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [int32 ]: ...
748749 @overload
749- def __new__ (cls , dtype : _Int64Codes | type [ct .c_int64 ], align : bool = ..., copy : bool = ...) -> dtype [int64 ]: ...
750+ def __new__ (cls , dtype : _Int64Codes | type [ct .c_int64 ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [int64 ]: ...
750751 @overload
751- def __new__ (cls , dtype : _ByteCodes | type [ct .c_byte ], align : bool = ..., copy : bool = ...) -> dtype [byte ]: ...
752+ def __new__ (cls , dtype : _ByteCodes | type [ct .c_byte ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [byte ]: ...
752753 @overload
753- def __new__ (cls , dtype : _ShortCodes | type [ct .c_short ], align : bool = ..., copy : bool = ...) -> dtype [short ]: ...
754+ def __new__ (cls , dtype : _ShortCodes | type [ct .c_short ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [short ]: ...
754755 @overload
755- def __new__ (cls , dtype : _IntCCodes | type [ct .c_int ], align : bool = ..., copy : bool = ...) -> dtype [intc ]: ...
756+ def __new__ (cls , dtype : _IntCCodes | type [ct .c_int ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [intc ]: ...
756757 @overload
757- def __new__ (cls , dtype : _IntPCodes | type [ct .c_ssize_t ], align : bool = ..., copy : bool = ...) -> dtype [intp ]: ...
758+ def __new__ (cls , dtype : _IntPCodes | type [ct .c_ssize_t ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [intp ]: ...
758759 @overload
759- def __new__ (cls , dtype : _IntCodes | type [ct .c_long ], align : bool = ..., copy : bool = ...) -> dtype [int_ ]: ...
760+ def __new__ (cls , dtype : _IntCodes | type [ct .c_long ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [int_ ]: ...
760761 @overload
761- def __new__ (cls , dtype : _LongLongCodes | type [ct .c_longlong ], align : bool = ..., copy : bool = ...) -> dtype [longlong ]: ...
762+ def __new__ (cls , dtype : _LongLongCodes | type [ct .c_longlong ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [longlong ]: ...
762763
763764 # `floating` string-based representations and ctypes
764765 @overload
765- def __new__ (cls , dtype : _Float16Codes , align : bool = ..., copy : bool = ...) -> dtype [float16 ]: ...
766+ def __new__ (cls , dtype : _Float16Codes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [float16 ]: ...
766767 @overload
767- def __new__ (cls , dtype : _Float32Codes , align : bool = ..., copy : bool = ...) -> dtype [float32 ]: ...
768+ def __new__ (cls , dtype : _Float32Codes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [float32 ]: ...
768769 @overload
769- def __new__ (cls , dtype : _Float64Codes , align : bool = ..., copy : bool = ...) -> dtype [float64 ]: ...
770+ def __new__ (cls , dtype : _Float64Codes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [float64 ]: ...
770771 @overload
771- def __new__ (cls , dtype : _HalfCodes , align : bool = ..., copy : bool = ...) -> dtype [half ]: ...
772+ def __new__ (cls , dtype : _HalfCodes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [half ]: ...
772773 @overload
773- def __new__ (cls , dtype : _SingleCodes | type [ct .c_float ], align : bool = ..., copy : bool = ...) -> dtype [single ]: ...
774+ def __new__ (cls , dtype : _SingleCodes | type [ct .c_float ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [single ]: ...
774775 @overload
775- def __new__ (cls , dtype : _DoubleCodes | type [ct .c_double ], align : bool = ..., copy : bool = ...) -> dtype [double ]: ...
776+ def __new__ (cls , dtype : _DoubleCodes | type [ct .c_double ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [double ]: ...
776777 @overload
777- def __new__ (cls , dtype : _LongDoubleCodes | type [ct .c_longdouble ], align : bool = ..., copy : bool = ...) -> dtype [longdouble ]: ...
778+ def __new__ (cls , dtype : _LongDoubleCodes | type [ct .c_longdouble ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [longdouble ]: ...
778779
779780 # `complexfloating` string-based representations
780781 @overload
781- def __new__ (cls , dtype : _Complex64Codes , align : bool = ..., copy : bool = ...) -> dtype [complex64 ]: ...
782+ def __new__ (cls , dtype : _Complex64Codes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [complex64 ]: ...
782783 @overload
783- def __new__ (cls , dtype : _Complex128Codes , align : bool = ..., copy : bool = ...) -> dtype [complex128 ]: ...
784+ def __new__ (cls , dtype : _Complex128Codes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [complex128 ]: ...
784785 @overload
785- def __new__ (cls , dtype : _CSingleCodes , align : bool = ..., copy : bool = ...) -> dtype [csingle ]: ...
786+ def __new__ (cls , dtype : _CSingleCodes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [csingle ]: ...
786787 @overload
787- def __new__ (cls , dtype : _CDoubleCodes , align : bool = ..., copy : bool = ...) -> dtype [cdouble ]: ...
788+ def __new__ (cls , dtype : _CDoubleCodes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [cdouble ]: ...
788789 @overload
789- def __new__ (cls , dtype : _CLongDoubleCodes , align : bool = ..., copy : bool = ...) -> dtype [clongdouble ]: ...
790+ def __new__ (cls , dtype : _CLongDoubleCodes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [clongdouble ]: ...
790791
791792 # Miscellaneous string-based representations and ctypes
792793 @overload
793- def __new__ (cls , dtype : _BoolCodes | type [ct .c_bool ], align : bool = ..., copy : bool = ...) -> dtype [bool_ ]: ...
794+ def __new__ (cls , dtype : _BoolCodes | type [ct .c_bool ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [bool_ ]: ...
794795 @overload
795- def __new__ (cls , dtype : _TD64Codes , align : bool = ..., copy : bool = ...) -> dtype [timedelta64 ]: ...
796+ def __new__ (cls , dtype : _TD64Codes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [timedelta64 ]: ...
796797 @overload
797- def __new__ (cls , dtype : _DT64Codes , align : bool = ..., copy : bool = ...) -> dtype [datetime64 ]: ...
798+ def __new__ (cls , dtype : _DT64Codes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [datetime64 ]: ...
798799 @overload
799- def __new__ (cls , dtype : _StrCodes , align : bool = ..., copy : bool = ...) -> dtype [str_ ]: ...
800+ def __new__ (cls , dtype : _StrCodes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [str_ ]: ...
800801 @overload
801- def __new__ (cls , dtype : _BytesCodes | type [ct .c_char ], align : bool = ..., copy : bool = ...) -> dtype [bytes_ ]: ...
802+ def __new__ (cls , dtype : _BytesCodes | type [ct .c_char ], align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [bytes_ ]: ...
802803 @overload
803- def __new__ (cls , dtype : _VoidCodes , align : bool = ..., copy : bool = ...) -> dtype [void ]: ...
804+ def __new__ (cls , dtype : _VoidCodes , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ... ) -> dtype [void ]: ...
804805 @overload
805- def __new__ (cls , dtype : _ObjectCodes | type [ct .py_object ] , align : bool = ..., copy : bool = ...) -> dtype [object_ ]: ...
806+ def __new__ (cls , dtype : _ObjectCodes | type [ct .py_object [ Any ]] , align : bool = ..., copy : bool = ..., metadata : dict [ builtins . str , Any ] = ...) -> dtype [object_ ]: ...
806807
807808 # dtype of a dtype is the same dtype
808809 @overload
@@ -811,13 +812,15 @@ class dtype(Generic[_DTypeScalar_co]):
811812 dtype : dtype [_DTypeScalar_co ],
812813 align : bool = ...,
813814 copy : bool = ...,
815+ metadata : dict [builtins .str , Any ] = ...,
814816 ) -> dtype [_DTypeScalar_co ]: ...
815817 @overload
816818 def __new__ (
817819 cls ,
818820 dtype : _SupportsDType [dtype [_DTypeScalar_co ]],
819821 align : bool = ...,
820822 copy : bool = ...,
823+ metadata : dict [builtins .str , Any ] = ...,
821824 ) -> dtype [_DTypeScalar_co ]: ...
822825 # Handle strings that can't be expressed as literals; i.e. s1, s2, ...
823826 @overload
@@ -826,6 +829,7 @@ class dtype(Generic[_DTypeScalar_co]):
826829 dtype : builtins .str ,
827830 align : bool = ...,
828831 copy : bool = ...,
832+ metadata : dict [builtins .str , Any ] = ...,
829833 ) -> dtype [Any ]: ...
830834 # Catchall overload for void-likes
831835 @overload
@@ -834,6 +838,7 @@ class dtype(Generic[_DTypeScalar_co]):
834838 dtype : _VoidDTypeLike ,
835839 align : bool = ...,
836840 copy : bool = ...,
841+ metadata : dict [builtins .str , Any ] = ...,
837842 ) -> dtype [void ]: ...
838843 # Catchall overload for object-likes
839844 @overload
@@ -842,6 +847,7 @@ class dtype(Generic[_DTypeScalar_co]):
842847 dtype : type [object ],
843848 align : bool = ...,
844849 copy : bool = ...,
850+ metadata : dict [builtins .str , Any ] = ...,
845851 ) -> dtype [object_ ]: ...
846852
847853 if sys .version_info >= (3 , 9 ):
0 commit comments