Skip to content

Commit 85345c9

Browse files
committed
TYP: respond to review comments
1 parent 4b8973d commit 85345c9

File tree

6 files changed

+262
-277
lines changed

6 files changed

+262
-277
lines changed

numpy/_core/defchararray.pyi

Lines changed: 41 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ from numpy._typing import (
2727
_ArrayLikeStr_co as U_co,
2828
_ArrayLikeBytes_co as S_co,
2929
_ArrayLikeString_co as T_co,
30+
_ArrayLikeAnyString_co as UST_co,
3031
_ArrayLikeInt_co as i_co,
3132
_ArrayLikeBool_co as b_co,
3233
)
@@ -96,6 +97,8 @@ _CharDType_co = TypeVar(
9697
)
9798
_CharArray: TypeAlias = chararray[tuple[int, ...], dtype[_SCT]]
9899

100+
AR_T: TypeAlias = np.ndarray[_Shape, np.dtypes.StringDType]
101+
99102
class chararray(ndarray[_ShapeType_co, _CharDType_co]):
100103
@overload
101104
def __new__(
@@ -561,35 +564,35 @@ def add(x1: U_co, x2: U_co) -> NDArray[np.str_]: ...
561564
@overload
562565
def add(x1: S_co, x2: S_co) -> NDArray[np.bytes_]: ...
563566
@overload
564-
def add(x1: T_co, x2: T_co) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
567+
def add(x1: T_co, x2: T_co) -> AR_T: ...
565568

566569
@overload
567570
def multiply(a: U_co, i: i_co) -> NDArray[np.str_]: ...
568571
@overload
569572
def multiply(a: S_co, i: i_co) -> NDArray[np.bytes_]: ...
570573
@overload
571-
def multiply(a: T_co, i: i_co) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
574+
def multiply(a: T_co, i: i_co) -> AR_T: ...
572575

573576
@overload
574577
def mod(a: U_co, value: Any) -> NDArray[np.str_]: ...
575578
@overload
576579
def mod(a: S_co, value: Any) -> NDArray[np.bytes_]: ...
577580
@overload
578-
def mod(a: T_co, value: Any) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
581+
def mod(a: T_co, value: Any) -> AR_T: ...
579582

580583
@overload
581584
def capitalize(a: U_co) -> NDArray[str_]: ...
582585
@overload
583586
def capitalize(a: S_co) -> NDArray[bytes_]: ...
584587
@overload
585-
def capitalize(a: T_co) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
588+
def capitalize(a: T_co) -> AR_T: ...
586589

587590
@overload
588591
def center(a: U_co, width: i_co, fillchar: U_co = ...) -> NDArray[str_]: ...
589592
@overload
590593
def center(a: S_co, width: i_co, fillchar: S_co = ...) -> NDArray[bytes_]: ...
591594
@overload
592-
def center(a: T_co, width: i_co, fillchar: T_co = ...) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
595+
def center(a: T_co, width: i_co, fillchar: T_co = ...) -> AR_T: ...
593596

594597
def decode(
595598
a: S_co,
@@ -607,42 +610,42 @@ def expandtabs(a: U_co, tabsize: i_co = ...) -> NDArray[str_]: ...
607610
@overload
608611
def expandtabs(a: S_co, tabsize: i_co = ...) -> NDArray[bytes_]: ...
609612
@overload
610-
def expandtabs(a: T_co, tabsize: i_co = ...) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
613+
def expandtabs(a: T_co, tabsize: i_co = ...) -> AR_T: ...
611614

612615
@overload
613616
def join(sep: U_co, seq: U_co) -> NDArray[str_]: ...
614617
@overload
615618
def join(sep: S_co, seq: S_co) -> NDArray[bytes_]: ...
616619
@overload
617-
def join(sep: T_co, seq: T_co) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
620+
def join(sep: T_co, seq: T_co) -> AR_T: ...
618621

619622
@overload
620623
def ljust(a: U_co, width: i_co, fillchar: U_co = ...) -> NDArray[str_]: ...
621624
@overload
622625
def ljust(a: S_co, width: i_co, fillchar: S_co = ...) -> NDArray[bytes_]: ...
623626
@overload
624-
def ljust(a: T_co, width: i_co, fillchar: T_co = ...) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
627+
def ljust(a: T_co, width: i_co, fillchar: T_co = ...) -> AR_T: ...
625628

626629
@overload
627630
def lower(a: U_co) -> NDArray[str_]: ...
628631
@overload
629632
def lower(a: S_co) -> NDArray[bytes_]: ...
630633
@overload
631-
def lower(a: T_co) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
634+
def lower(a: T_co) -> AR_T: ...
632635

633636
@overload
634637
def lstrip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ...
635638
@overload
636639
def lstrip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ...
637640
@overload
638-
def lstrip(a: T_co, chars: None | T_co = ...) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
641+
def lstrip(a: T_co, chars: None | T_co = ...) -> AR_T: ...
639642

640643
@overload
641644
def partition(a: U_co, sep: U_co) -> NDArray[str_]: ...
642645
@overload
643646
def partition(a: S_co, sep: S_co) -> NDArray[bytes_]: ...
644647
@overload
645-
def partition(a: T_co, sep: T_co) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
648+
def partition(a: T_co, sep: T_co) -> AR_T: ...
646649

647650
@overload
648651
def replace(
@@ -664,7 +667,7 @@ def replace(
664667
old: T_co,
665668
new: T_co,
666669
count: i_co = ...,
667-
) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
670+
) -> AR_T: ...
668671

669672
@overload
670673
def rjust(
@@ -683,14 +686,14 @@ def rjust(
683686
a: T_co,
684687
width: i_co,
685688
fillchar: T_co = ...,
686-
) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
689+
) -> AR_T: ...
687690

688691
@overload
689692
def rpartition(a: U_co, sep: U_co) -> NDArray[str_]: ...
690693
@overload
691694
def rpartition(a: S_co, sep: S_co) -> NDArray[bytes_]: ...
692695
@overload
693-
def rpartition(a: T_co, sep: T_co) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
696+
def rpartition(a: T_co, sep: T_co) -> AR_T: ...
694697

695698
@overload
696699
def rsplit(
@@ -709,14 +712,14 @@ def rsplit(
709712
a: T_co,
710713
sep: None | T_co = ...,
711714
maxsplit: None | i_co = ...,
712-
) -> NDArray[np.object_]: ...
715+
) -> NDArray[object_]: ...
713716

714717
@overload
715718
def rstrip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ...
716719
@overload
717720
def rstrip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ...
718721
@overload
719-
def rstrip(a: T_co, chars: None | T_co = ...) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
722+
def rstrip(a: T_co, chars: None | T_co = ...) -> AR_T: ...
720723

721724
@overload
722725
def split(
@@ -735,64 +738,64 @@ def split(
735738
a: T_co,
736739
sep: None | T_co = ...,
737740
maxsplit: None | i_co = ...,
738-
) -> NDArray[np.object_]: ...
741+
) -> NDArray[object_]: ...
739742

740743
@overload
741-
def splitlines(a: U_co | S_co | T_co, keepends: None | b_co = ...) -> NDArray[np.object_]: ...
744+
def splitlines(a: UST_co, keepends: None | b_co = ...) -> NDArray[np.object_]: ...
742745

743746
@overload
744747
def strip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ...
745748
@overload
746749
def strip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ...
747750
@overload
748-
def strip(a: T_co, chars: None | T_co = ...) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
751+
def strip(a: T_co, chars: None | T_co = ...) -> AR_T: ...
749752

750753
@overload
751754
def swapcase(a: U_co) -> NDArray[str_]: ...
752755
@overload
753756
def swapcase(a: S_co) -> NDArray[bytes_]: ...
754757
@overload
755-
def swapcase(a: T_co) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
758+
def swapcase(a: T_co) -> AR_T: ...
756759

757760
@overload
758761
def title(a: U_co) -> NDArray[str_]: ...
759762
@overload
760763
def title(a: S_co) -> NDArray[bytes_]: ...
761764
@overload
762-
def title(a: T_co) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
765+
def title(a: T_co) -> AR_T: ...
763766

764767
@overload
765768
def translate(
766769
a: U_co,
767-
table: U_co,
768-
deletechars: None | U_co = ...,
770+
table: str,
771+
deletechars: None | str = ...,
769772
) -> NDArray[str_]: ...
770773
@overload
771774
def translate(
772775
a: S_co,
773-
table: S_co,
774-
deletechars: None | S_co = ...,
776+
table: str,
777+
deletechars: None | str = ...,
775778
) -> NDArray[bytes_]: ...
776779
@overload
777780
def translate(
778781
a: T_co,
779-
table: T_co,
780-
deletechars: None | T_co = ...,
781-
) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
782+
table: str,
783+
deletechars: None | str = ...,
784+
) -> AR_T: ...
782785

783786
@overload
784787
def upper(a: U_co) -> NDArray[str_]: ...
785788
@overload
786789
def upper(a: S_co) -> NDArray[bytes_]: ...
787790
@overload
788-
def upper(a: T_co) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
791+
def upper(a: T_co) -> AR_T: ...
789792

790793
@overload
791794
def zfill(a: U_co, width: i_co) -> NDArray[str_]: ...
792795
@overload
793796
def zfill(a: S_co, width: i_co) -> NDArray[bytes_]: ...
794797
@overload
795-
def zfill(a: T_co, width: i_co) -> np.ndarray[_Shape, np.dtypes.StringDType]: ...
798+
def zfill(a: T_co, width: i_co) -> AR_T: ...
796799

797800
# String information
798801
@overload
@@ -883,15 +886,15 @@ def index(
883886
end: i_co | None = ...,
884887
) -> NDArray[np.int_]: ...
885888

886-
def isalpha(a: U_co | S_co | T_co) -> NDArray[np.bool]: ...
887-
def isalnum(a: U_co | S_co | T_co) -> NDArray[np.bool]: ...
889+
def isalpha(a: UST_co) -> NDArray[np.bool]: ...
890+
def isalnum(a: UST_co) -> NDArray[np.bool]: ...
888891
def isdecimal(a: U_co | T_co) -> NDArray[np.bool]: ...
889-
def isdigit(a: U_co | S_co | T_co) -> NDArray[np.bool]: ...
890-
def islower(a: U_co | S_co | T_co) -> NDArray[np.bool]: ...
892+
def isdigit(a: UST_co) -> NDArray[np.bool]: ...
893+
def islower(a: UST_co) -> NDArray[np.bool]: ...
891894
def isnumeric(a: U_co | T_co) -> NDArray[np.bool]: ...
892-
def isspace(a: U_co | S_co | T_co) -> NDArray[np.bool]: ...
893-
def istitle(a: U_co | S_co | T_co) -> NDArray[np.bool]: ...
894-
def isupper(a: U_co | S_co | T_co) -> NDArray[np.bool]: ...
895+
def isspace(a: UST_co) -> NDArray[np.bool]: ...
896+
def istitle(a: UST_co) -> NDArray[np.bool]: ...
897+
def isupper(a: UST_co) -> NDArray[np.bool]: ...
895898

896899
@overload
897900
def rfind(
@@ -959,7 +962,7 @@ def startswith(
959962
end: i_co | None = ...,
960963
) -> NDArray[np.bool]: ...
961964

962-
def str_len(A: U_co | S_co | T_co) -> NDArray[int_]: ...
965+
def str_len(A: UST_co) -> NDArray[int_]: ...
963966

964967
# Overload 1 and 2: str- or bytes-based array-likes
965968
# overload 3: arbitrary object with unicode=False (-> bytes_)

0 commit comments

Comments
 (0)