Skip to content

Commit 03861ae

Browse files
committed
TYP: accept non-integer shapes in array constructor without a dtype
1 parent fcc32f0 commit 03861ae

File tree

2 files changed

+42
-122
lines changed

2 files changed

+42
-122
lines changed

numpy/_core/multiarray.pyi

Lines changed: 17 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ class _ConstructorEmpty(Protocol):
278278
self,
279279
/,
280280
shape: SupportsIndex,
281-
dtype: DTypeLike,
281+
dtype: DTypeLike | None = ...,
282282
order: _OrderCF = ...,
283283
**kwargs: Unpack[_KwargsEmpty],
284284
) -> _Array1D[Any]: ...
@@ -316,7 +316,7 @@ class _ConstructorEmpty(Protocol):
316316
self,
317317
/,
318318
shape: _AnyShapeType,
319-
dtype: DTypeLike,
319+
dtype: DTypeLike | None = ...,
320320
order: _OrderCF = ...,
321321
**kwargs: Unpack[_KwargsEmpty],
322322
) -> _Array[_AnyShapeType, Any]: ...
@@ -348,9 +348,10 @@ class _ConstructorEmpty(Protocol):
348348
) -> NDArray[_SCT]: ...
349349
@overload
350350
def __call__(
351-
self, /,
351+
self,
352+
/,
352353
shape: _ShapeLike,
353-
dtype: DTypeLike,
354+
dtype: DTypeLike | None = ...,
354355
order: _OrderCF = ...,
355356
**kwargs: Unpack[_KwargsEmpty],
356357
) -> NDArray[Any]: ...
@@ -418,16 +419,6 @@ def empty_like(
418419
device: None | L["cpu"] = ...,
419420
) -> NDArray[_SCT]: ...
420421
@overload
421-
def empty_like(
422-
prototype: object,
423-
dtype: None = ...,
424-
order: _OrderKACF = ...,
425-
subok: bool = ...,
426-
shape: None | _ShapeLike = ...,
427-
*,
428-
device: None | L["cpu"] = ...,
429-
) -> NDArray[Any]: ...
430-
@overload
431422
def empty_like(
432423
prototype: Any,
433424
dtype: _DTypeLike[_SCT],
@@ -440,7 +431,7 @@ def empty_like(
440431
@overload
441432
def empty_like(
442433
prototype: Any,
443-
dtype: DTypeLike,
434+
dtype: DTypeLike | None = ...,
444435
order: _OrderKACF = ...,
445436
subok: bool = ...,
446437
shape: None | _ShapeLike = ...,
@@ -482,17 +473,6 @@ def array(
482473
like: None | _SupportsArrayFunc = ...,
483474
) -> NDArray[_SCT]: ...
484475
@overload
485-
def array(
486-
object: object,
487-
dtype: None = ...,
488-
*,
489-
copy: None | bool | _CopyMode = ...,
490-
order: _OrderKACF = ...,
491-
subok: bool = ...,
492-
ndmin: int = ...,
493-
like: None | _SupportsArrayFunc = ...,
494-
) -> NDArray[Any]: ...
495-
@overload
496476
def array(
497477
object: Any,
498478
dtype: _DTypeLike[_SCT],
@@ -506,7 +486,7 @@ def array(
506486
@overload
507487
def array(
508488
object: Any,
509-
dtype: DTypeLike,
489+
dtype: DTypeLike | None = ...,
510490
*,
511491
copy: None | bool | _CopyMode = ...,
512492
order: _OrderKACF = ...,
@@ -555,15 +535,6 @@ def concatenate( # type: ignore[misc]
555535
casting: None | _CastingKind = ...
556536
) -> NDArray[_SCT]: ...
557537
@overload
558-
def concatenate( # type: ignore[misc]
559-
arrays: SupportsLenAndGetItem[ArrayLike],
560-
/,
561-
axis: None | SupportsIndex = ...,
562-
out: None = ...,
563-
*,
564-
dtype: None = ...,
565-
casting: None | _CastingKind = ...
566-
) -> NDArray[Any]: ...
567538
@overload
568539
def concatenate( # type: ignore[misc]
569540
arrays: SupportsLenAndGetItem[ArrayLike],
@@ -581,7 +552,7 @@ def concatenate( # type: ignore[misc]
581552
axis: None | SupportsIndex = ...,
582553
out: None = ...,
583554
*,
584-
dtype: DTypeLike,
555+
dtype: DTypeLike | None = None,
585556
casting: None | _CastingKind = ...
586557
) -> NDArray[Any]: ...
587558
@overload
@@ -716,16 +687,6 @@ def asarray(
716687
like: None | _SupportsArrayFunc = ...,
717688
) -> NDArray[_SCT]: ...
718689
@overload
719-
def asarray(
720-
a: object,
721-
dtype: None = ...,
722-
order: _OrderKACF = ...,
723-
*,
724-
device: None | L["cpu"] = ...,
725-
copy: None | bool = ...,
726-
like: None | _SupportsArrayFunc = ...,
727-
) -> NDArray[Any]: ...
728-
@overload
729690
def asarray(
730691
a: Any,
731692
dtype: _DTypeLike[_SCT],
@@ -738,7 +699,7 @@ def asarray(
738699
@overload
739700
def asarray(
740701
a: Any,
741-
dtype: DTypeLike,
702+
dtype: DTypeLike | None = ...,
742703
order: _OrderKACF = ...,
743704
*,
744705
device: None | L["cpu"] = ...,
@@ -767,16 +728,6 @@ def asanyarray(
767728
like: None | _SupportsArrayFunc = ...,
768729
) -> NDArray[_SCT]: ...
769730
@overload
770-
def asanyarray(
771-
a: object,
772-
dtype: None = ...,
773-
order: _OrderKACF = ...,
774-
*,
775-
device: None | L["cpu"] = ...,
776-
copy: None | bool = ...,
777-
like: None | _SupportsArrayFunc = ...,
778-
) -> NDArray[Any]: ...
779-
@overload
780731
def asanyarray(
781732
a: Any,
782733
dtype: _DTypeLike[_SCT],
@@ -789,7 +740,7 @@ def asanyarray(
789740
@overload
790741
def asanyarray(
791742
a: Any,
792-
dtype: DTypeLike,
743+
dtype: DTypeLike | None = ...,
793744
order: _OrderKACF = ...,
794745
*,
795746
device: None | L["cpu"] = ...,
@@ -805,13 +756,6 @@ def ascontiguousarray(
805756
like: None | _SupportsArrayFunc = ...,
806757
) -> NDArray[_SCT]: ...
807758
@overload
808-
def ascontiguousarray(
809-
a: object,
810-
dtype: None = ...,
811-
*,
812-
like: None | _SupportsArrayFunc = ...,
813-
) -> NDArray[Any]: ...
814-
@overload
815759
def ascontiguousarray(
816760
a: Any,
817761
dtype: _DTypeLike[_SCT],
@@ -821,7 +765,7 @@ def ascontiguousarray(
821765
@overload
822766
def ascontiguousarray(
823767
a: Any,
824-
dtype: DTypeLike,
768+
dtype: DTypeLike | None = ...,
825769
*,
826770
like: None | _SupportsArrayFunc = ...,
827771
) -> NDArray[Any]: ...
@@ -834,13 +778,6 @@ def asfortranarray(
834778
like: None | _SupportsArrayFunc = ...,
835779
) -> NDArray[_SCT]: ...
836780
@overload
837-
def asfortranarray(
838-
a: object,
839-
dtype: None = ...,
840-
*,
841-
like: None | _SupportsArrayFunc = ...,
842-
) -> NDArray[Any]: ...
843-
@overload
844781
def asfortranarray(
845782
a: Any,
846783
dtype: _DTypeLike[_SCT],
@@ -850,7 +787,7 @@ def asfortranarray(
850787
@overload
851788
def asfortranarray(
852789
a: Any,
853-
dtype: DTypeLike,
790+
dtype: DTypeLike | None = ...,
854791
*,
855792
like: None | _SupportsArrayFunc = ...,
856793
) -> NDArray[Any]: ...
@@ -879,7 +816,7 @@ def fromstring(
879816
@overload
880817
def fromstring(
881818
string: str | bytes,
882-
dtype: DTypeLike,
819+
dtype: DTypeLike | None = ...,
883820
count: SupportsIndex = ...,
884821
*,
885822
sep: str,
@@ -982,7 +919,7 @@ def fromfile(
982919
@overload
983920
def fromfile(
984921
file: StrOrBytesPath | _SupportsFileMethods,
985-
dtype: DTypeLike,
922+
dtype: DTypeLike | None = ...,
986923
count: SupportsIndex = ...,
987924
sep: str = ...,
988925
offset: SupportsIndex = ...,
@@ -1028,7 +965,7 @@ def frombuffer(
1028965
@overload
1029966
def frombuffer(
1030967
buffer: _SupportsBuffer,
1031-
dtype: DTypeLike,
968+
dtype: DTypeLike | None = ...,
1032969
count: SupportsIndex = ...,
1033970
offset: SupportsIndex = ...,
1034971
*,
@@ -1121,7 +1058,7 @@ def arange(
11211058
def arange(
11221059
stop: Any, /,
11231060
*,
1124-
dtype: DTypeLike,
1061+
dtype: DTypeLike | None = ...,
11251062
device: None | L["cpu"] = ...,
11261063
like: None | _SupportsArrayFunc = ...,
11271064
) -> _Array1D[Any]: ...
@@ -1130,7 +1067,7 @@ def arange(
11301067
start: Any,
11311068
stop: Any,
11321069
step: Any = ...,
1133-
dtype: DTypeLike = ...,
1070+
dtype: DTypeLike | None = ...,
11341071
*,
11351072
device: None | L["cpu"] = ...,
11361073
like: None | _SupportsArrayFunc = ...,

0 commit comments

Comments
 (0)