Skip to content

Commit 3691d18

Browse files
committed
TYP: fix pyright failures pointed out by Joren
1 parent 8b9d772 commit 3691d18

File tree

2 files changed

+163
-41
lines changed

2 files changed

+163
-41
lines changed

numpy/_core/defchararray.pyi

Lines changed: 83 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ _CharArray: TypeAlias = chararray[tuple[int, ...], dtype[_SCT]]
100100

101101
_StringDTypeArray: TypeAlias = np.ndarray[_Shape, np.dtypes.StringDType]
102102
_StringDTypeSupportsArray: TypeAlias = _SupportsArray[np.dtypes.StringDType]
103-
_StringDTypeOrUnicodeArray: TypeAlias = np.ndarray[_Shape, np.dtype[np.str_] | np.dtypes.StringDType]
103+
_StringDTypeOrUnicodeArray: TypeAlias = np.ndarray[_Shape, np.dtype[np.str_]] | np.ndarray[_Shape, np.dtypes.StringDType]
104104

105105
class chararray(ndarray[_ShapeType_co, _CharDType_co]):
106106
@overload
@@ -586,21 +586,27 @@ def mod(a: U_co, value: Any) -> NDArray[np.str_]: ...
586586
@overload
587587
def mod(a: S_co, value: Any) -> NDArray[np.bytes_]: ...
588588
@overload
589-
def mod(a: T_co, value: Any) -> _StringDTypeArray: ...
589+
def mod(a: _StringDTypeSupportsArray, value: Any) -> _StringDTypeArray: ...
590+
@overload
591+
def mod(a: T_co, value: Any) -> _StringDTypeOrUnicodeArray: ...
590592

591593
@overload
592594
def capitalize(a: U_co) -> NDArray[str_]: ...
593595
@overload
594596
def capitalize(a: S_co) -> NDArray[bytes_]: ...
595597
@overload
596-
def capitalize(a: T_co) -> _StringDTypeArray: ...
598+
def capitalize(a: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
599+
@overload
600+
def capitalize(a: T_co) -> _StringDTypeOrUnicodeArray: ...
597601

598602
@overload
599603
def center(a: U_co, width: i_co, fillchar: U_co = ...) -> NDArray[str_]: ...
600604
@overload
601605
def center(a: S_co, width: i_co, fillchar: S_co = ...) -> NDArray[bytes_]: ...
602606
@overload
603-
def center(a: T_co, width: i_co, fillchar: T_co = ...) -> _StringDTypeArray: ...
607+
def center(a: _StringDTypeSupportsArray, width: i_co, fillchar: _StringDTypeSupportsArray = ...) -> _StringDTypeArray: ...
608+
@overload
609+
def center(a: T_co, width: T_co, fillchar: T_co = ...) -> _StringDTypeOrUnicodeArray: ...
604610

605611
def decode(
606612
a: S_co,
@@ -618,42 +624,54 @@ def expandtabs(a: U_co, tabsize: i_co = ...) -> NDArray[str_]: ...
618624
@overload
619625
def expandtabs(a: S_co, tabsize: i_co = ...) -> NDArray[bytes_]: ...
620626
@overload
621-
def expandtabs(a: T_co, tabsize: i_co = ...) -> _StringDTypeArray: ...
627+
def expandtabs(a: _StringDTypeSupportsArray, tabsize: i_co = ...) -> _StringDTypeArray: ...
628+
@overload
629+
def expandtabs(a: T_co, tabsize: i_co = ...) -> _StringDTypeOrUnicodeArray: ...
622630

623631
@overload
624632
def join(sep: U_co, seq: U_co) -> NDArray[str_]: ...
625633
@overload
626634
def join(sep: S_co, seq: S_co) -> NDArray[bytes_]: ...
627635
@overload
628-
def join(sep: T_co, seq: T_co) -> _StringDTypeArray: ...
636+
def join(sep: _StringDTypeSupportsArray, seq: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
637+
@overload
638+
def join(sep: T_co, seq: T_co) -> _StringDTypeOrUnicodeArray: ...
629639

630640
@overload
631641
def ljust(a: U_co, width: i_co, fillchar: U_co = ...) -> NDArray[str_]: ...
632642
@overload
633643
def ljust(a: S_co, width: i_co, fillchar: S_co = ...) -> NDArray[bytes_]: ...
634644
@overload
635-
def ljust(a: T_co, width: i_co, fillchar: T_co = ...) -> _StringDTypeArray: ...
645+
def ljust(a: _StringDTypeSupportsArray, width: i_co, fillchar: _StringDTypeSupportsArray = ...) -> _StringDTypeArray: ...
646+
@overload
647+
def ljust(a: T_co, width: i_co, fillchar: T_co = ...) -> _StringDTypeOrUnicodeArray: ...
636648

637649
@overload
638650
def lower(a: U_co) -> NDArray[str_]: ...
639651
@overload
640652
def lower(a: S_co) -> NDArray[bytes_]: ...
641653
@overload
642-
def lower(a: T_co) -> _StringDTypeArray: ...
654+
def lower(a: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
655+
@overload
656+
def lower(a: T_co) -> _StringDTypeOrUnicodeArray: ...
643657

644658
@overload
645659
def lstrip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ...
646660
@overload
647661
def lstrip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ...
648662
@overload
649-
def lstrip(a: T_co, chars: None | T_co = ...) -> _StringDTypeArray: ...
663+
def lstrip(a: _StringDTypeSupportsArray, chars: None | _StringDTypeSupportsArray = ...) -> _StringDTypeArray: ...
664+
@overload
665+
def lstrip(a: T_co, chars: None | T_co = ...) -> _StringDTypeOrUnicodeArray: ...
650666

651667
@overload
652668
def partition(a: U_co, sep: U_co) -> NDArray[str_]: ...
653669
@overload
654670
def partition(a: S_co, sep: S_co) -> NDArray[bytes_]: ...
655671
@overload
656-
def partition(a: T_co, sep: T_co) -> _StringDTypeArray: ...
672+
def partition(a: _StringDTypeSupportsArray, sep: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
673+
@overload
674+
def partition(a: T_co, sep: T_co) -> _StringDTypeOrUnicodeArray: ...
657675

658676
@overload
659677
def replace(
@@ -670,12 +688,19 @@ def replace(
670688
count: None | i_co = ...,
671689
) -> NDArray[bytes_]: ...
672690
@overload
691+
def replace(
692+
a: _StringDTypeSupportsArray,
693+
old: _StringDTypeSupportsArray,
694+
new: _StringDTypeSupportsArray,
695+
count: i_co = ...,
696+
) -> _StringDTypeArray: ...
697+
@overload
673698
def replace(
674699
a: T_co,
675700
old: T_co,
676701
new: T_co,
677702
count: i_co = ...,
678-
) -> _StringDTypeArray: ...
703+
) -> _StringDTypeOrUnicodeArray: ...
679704

680705
@overload
681706
def rjust(
@@ -690,18 +715,26 @@ def rjust(
690715
fillchar: S_co = ...,
691716
) -> NDArray[bytes_]: ...
692717
@overload
718+
def rjust(
719+
a: _StringDTypeSupportsArray,
720+
width: i_co,
721+
fillchar: _StringDTypeSupportsArray = ...,
722+
) -> _StringDTypeArray: ...
723+
@overload
693724
def rjust(
694725
a: T_co,
695726
width: i_co,
696727
fillchar: T_co = ...,
697-
) -> _StringDTypeArray: ...
728+
) -> _StringDTypeOrUnicodeArray: ...
698729

699730
@overload
700731
def rpartition(a: U_co, sep: U_co) -> NDArray[str_]: ...
701732
@overload
702733
def rpartition(a: S_co, sep: S_co) -> NDArray[bytes_]: ...
703734
@overload
704-
def rpartition(a: T_co, sep: T_co) -> _StringDTypeArray: ...
735+
def rpartition(a: _StringDTypeSupportsArray, sep: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
736+
@overload
737+
def rpartition(a: T_co, sep: T_co) -> _StringDTypeOrUnicodeArray: ...
705738

706739
@overload
707740
def rsplit(
@@ -716,6 +749,12 @@ def rsplit(
716749
maxsplit: None | i_co = ...,
717750
) -> NDArray[object_]: ...
718751
@overload
752+
def rsplit(
753+
a: _StringDTypeSupportsArray,
754+
sep: None | _StringDTypeSupportsArray = ...,
755+
maxsplit: None | i_co = ...,
756+
) -> NDArray[object_]: ...
757+
@overload
719758
def rsplit(
720759
a: T_co,
721760
sep: None | T_co = ...,
@@ -727,7 +766,9 @@ def rstrip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ...
727766
@overload
728767
def rstrip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ...
729768
@overload
730-
def rstrip(a: T_co, chars: None | T_co = ...) -> _StringDTypeArray: ...
769+
def rstrip(a: _StringDTypeSupportsArray, chars: None | _StringDTypeSupportsArray = ...) -> _StringDTypeArray: ...
770+
@overload
771+
def rstrip(a: T_co, chars: None | T_co = ...) -> _StringDTypeOrUnicodeArray: ...
731772

732773
@overload
733774
def split(
@@ -742,6 +783,12 @@ def split(
742783
maxsplit: None | i_co = ...,
743784
) -> NDArray[object_]: ...
744785
@overload
786+
def split(
787+
a: _StringDTypeSupportsArray,
788+
sep: None | _StringDTypeSupportsArray = ...,
789+
maxsplit: None | i_co = ...,
790+
) -> NDArray[object_]: ...
791+
@overload
745792
def split(
746793
a: T_co,
747794
sep: None | T_co = ...,
@@ -755,21 +802,27 @@ def strip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ...
755802
@overload
756803
def strip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ...
757804
@overload
758-
def strip(a: T_co, chars: None | T_co = ...) -> _StringDTypeArray: ...
805+
def strip(a: _StringDTypeSupportsArray, chars: None | _StringDTypeSupportsArray = ...) -> _StringDTypeArray: ...
806+
@overload
807+
def strip(a: T_co, chars: None | T_co = ...) -> _StringDTypeOrUnicodeArray: ...
759808

760809
@overload
761810
def swapcase(a: U_co) -> NDArray[str_]: ...
762811
@overload
763812
def swapcase(a: S_co) -> NDArray[bytes_]: ...
764813
@overload
765-
def swapcase(a: T_co) -> _StringDTypeArray: ...
814+
def swapcase(a: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
815+
@overload
816+
def swapcase(a: T_co) -> _StringDTypeOrUnicodeArray: ...
766817

767818
@overload
768819
def title(a: U_co) -> NDArray[str_]: ...
769820
@overload
770821
def title(a: S_co) -> NDArray[bytes_]: ...
771822
@overload
772-
def title(a: T_co) -> _StringDTypeArray: ...
823+
def title(a: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
824+
@overload
825+
def title(a: T_co) -> _StringDTypeOrUnicodeArray: ...
773826

774827
@overload
775828
def translate(
@@ -785,24 +838,34 @@ def translate(
785838
) -> NDArray[bytes_]: ...
786839
@overload
787840
def translate(
788-
a: T_co,
841+
a: _StringDTypeSupportsArray,
789842
table: str,
790843
deletechars: None | str = ...,
791844
) -> _StringDTypeArray: ...
845+
@overload
846+
def translate(
847+
a: T_co,
848+
table: str,
849+
deletechars: None | str = ...,
850+
) -> _StringDTypeOrUnicodeArray: ...
792851

793852
@overload
794853
def upper(a: U_co) -> NDArray[str_]: ...
795854
@overload
796855
def upper(a: S_co) -> NDArray[bytes_]: ...
797856
@overload
798-
def upper(a: T_co) -> _StringDTypeArray: ...
857+
def upper(a: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
858+
@overload
859+
def upper(a: T_co) -> _StringDTypeOrUnicodeArray: ...
799860

800861
@overload
801862
def zfill(a: U_co, width: i_co) -> NDArray[str_]: ...
802863
@overload
803864
def zfill(a: S_co, width: i_co) -> NDArray[bytes_]: ...
804865
@overload
805-
def zfill(a: T_co, width: i_co) -> _StringDTypeArray: ...
866+
def zfill(a: _StringDTypeSupportsArray, width: i_co) -> _StringDTypeArray: ...
867+
@overload
868+
def zfill(a: T_co, width: i_co) -> _StringDTypeOrUnicodeArray: ...
806869

807870
# String information
808871
@overload

0 commit comments

Comments
 (0)