defchararray.pyi
1 from typing import ( 2 Literal as L, 3 overload, 4 TypeVar, 5 Any, 6 ) 7 8 from numpy import ( 9 chararray as chararray, 10 dtype, 11 str_, 12 bytes_, 13 int_, 14 bool_, 15 object_, 16 _OrderKACF, 17 ) 18 19 from numpy._typing import ( 20 NDArray, 21 _ArrayLikeStr_co as U_co, 22 _ArrayLikeBytes_co as S_co, 23 _ArrayLikeInt_co as i_co, 24 _ArrayLikeBool_co as b_co, 25 ) 26 27 from numpy.core.multiarray import compare_chararrays as compare_chararrays 28 29 _SCT = TypeVar("_SCT", str_, bytes_) 30 _CharArray = chararray[Any, dtype[_SCT]] 31 32 __all__: list[str] 33 34 # Comparison 35 @overload 36 def equal(x1: U_co, x2: U_co) -> NDArray[bool_]: ... 37 @overload 38 def equal(x1: S_co, x2: S_co) -> NDArray[bool_]: ... 39 40 @overload 41 def not_equal(x1: U_co, x2: U_co) -> NDArray[bool_]: ... 42 @overload 43 def not_equal(x1: S_co, x2: S_co) -> NDArray[bool_]: ... 44 45 @overload 46 def greater_equal(x1: U_co, x2: U_co) -> NDArray[bool_]: ... 47 @overload 48 def greater_equal(x1: S_co, x2: S_co) -> NDArray[bool_]: ... 49 50 @overload 51 def less_equal(x1: U_co, x2: U_co) -> NDArray[bool_]: ... 52 @overload 53 def less_equal(x1: S_co, x2: S_co) -> NDArray[bool_]: ... 54 55 @overload 56 def greater(x1: U_co, x2: U_co) -> NDArray[bool_]: ... 57 @overload 58 def greater(x1: S_co, x2: S_co) -> NDArray[bool_]: ... 59 60 @overload 61 def less(x1: U_co, x2: U_co) -> NDArray[bool_]: ... 62 @overload 63 def less(x1: S_co, x2: S_co) -> NDArray[bool_]: ... 64 65 # String operations 66 @overload 67 def add(x1: U_co, x2: U_co) -> NDArray[str_]: ... 68 @overload 69 def add(x1: S_co, x2: S_co) -> NDArray[bytes_]: ... 70 71 @overload 72 def multiply(a: U_co, i: i_co) -> NDArray[str_]: ... 73 @overload 74 def multiply(a: S_co, i: i_co) -> NDArray[bytes_]: ... 75 76 @overload 77 def mod(a: U_co, value: Any) -> NDArray[str_]: ... 78 @overload 79 def mod(a: S_co, value: Any) -> NDArray[bytes_]: ... 80 81 @overload 82 def capitalize(a: U_co) -> NDArray[str_]: ... 83 @overload 84 def capitalize(a: S_co) -> NDArray[bytes_]: ... 85 86 @overload 87 def center(a: U_co, width: i_co, fillchar: U_co = ...) -> NDArray[str_]: ... 88 @overload 89 def center(a: S_co, width: i_co, fillchar: S_co = ...) -> NDArray[bytes_]: ... 90 91 def decode( 92 a: S_co, 93 encoding: None | str = ..., 94 errors: None | str = ..., 95 ) -> NDArray[str_]: ... 96 97 def encode( 98 a: U_co, 99 encoding: None | str = ..., 100 errors: None | str = ..., 101 ) -> NDArray[bytes_]: ... 102 103 @overload 104 def expandtabs(a: U_co, tabsize: i_co = ...) -> NDArray[str_]: ... 105 @overload 106 def expandtabs(a: S_co, tabsize: i_co = ...) -> NDArray[bytes_]: ... 107 108 @overload 109 def join(sep: U_co, seq: U_co) -> NDArray[str_]: ... 110 @overload 111 def join(sep: S_co, seq: S_co) -> NDArray[bytes_]: ... 112 113 @overload 114 def ljust(a: U_co, width: i_co, fillchar: U_co = ...) -> NDArray[str_]: ... 115 @overload 116 def ljust(a: S_co, width: i_co, fillchar: S_co = ...) -> NDArray[bytes_]: ... 117 118 @overload 119 def lower(a: U_co) -> NDArray[str_]: ... 120 @overload 121 def lower(a: S_co) -> NDArray[bytes_]: ... 122 123 @overload 124 def lstrip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ... 125 @overload 126 def lstrip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ... 127 128 @overload 129 def partition(a: U_co, sep: U_co) -> NDArray[str_]: ... 130 @overload 131 def partition(a: S_co, sep: S_co) -> NDArray[bytes_]: ... 132 133 @overload 134 def replace( 135 a: U_co, 136 old: U_co, 137 new: U_co, 138 count: None | i_co = ..., 139 ) -> NDArray[str_]: ... 140 @overload 141 def replace( 142 a: S_co, 143 old: S_co, 144 new: S_co, 145 count: None | i_co = ..., 146 ) -> NDArray[bytes_]: ... 147 148 @overload 149 def rjust( 150 a: U_co, 151 width: i_co, 152 fillchar: U_co = ..., 153 ) -> NDArray[str_]: ... 154 @overload 155 def rjust( 156 a: S_co, 157 width: i_co, 158 fillchar: S_co = ..., 159 ) -> NDArray[bytes_]: ... 160 161 @overload 162 def rpartition(a: U_co, sep: U_co) -> NDArray[str_]: ... 163 @overload 164 def rpartition(a: S_co, sep: S_co) -> NDArray[bytes_]: ... 165 166 @overload 167 def rsplit( 168 a: U_co, 169 sep: None | U_co = ..., 170 maxsplit: None | i_co = ..., 171 ) -> NDArray[object_]: ... 172 @overload 173 def rsplit( 174 a: S_co, 175 sep: None | S_co = ..., 176 maxsplit: None | i_co = ..., 177 ) -> NDArray[object_]: ... 178 179 @overload 180 def rstrip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ... 181 @overload 182 def rstrip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ... 183 184 @overload 185 def split( 186 a: U_co, 187 sep: None | U_co = ..., 188 maxsplit: None | i_co = ..., 189 ) -> NDArray[object_]: ... 190 @overload 191 def split( 192 a: S_co, 193 sep: None | S_co = ..., 194 maxsplit: None | i_co = ..., 195 ) -> NDArray[object_]: ... 196 197 @overload 198 def splitlines(a: U_co, keepends: None | b_co = ...) -> NDArray[object_]: ... 199 @overload 200 def splitlines(a: S_co, keepends: None | b_co = ...) -> NDArray[object_]: ... 201 202 @overload 203 def strip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ... 204 @overload 205 def strip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ... 206 207 @overload 208 def swapcase(a: U_co) -> NDArray[str_]: ... 209 @overload 210 def swapcase(a: S_co) -> NDArray[bytes_]: ... 211 212 @overload 213 def title(a: U_co) -> NDArray[str_]: ... 214 @overload 215 def title(a: S_co) -> NDArray[bytes_]: ... 216 217 @overload 218 def translate( 219 a: U_co, 220 table: U_co, 221 deletechars: None | U_co = ..., 222 ) -> NDArray[str_]: ... 223 @overload 224 def translate( 225 a: S_co, 226 table: S_co, 227 deletechars: None | S_co = ..., 228 ) -> NDArray[bytes_]: ... 229 230 @overload 231 def upper(a: U_co) -> NDArray[str_]: ... 232 @overload 233 def upper(a: S_co) -> NDArray[bytes_]: ... 234 235 @overload 236 def zfill(a: U_co, width: i_co) -> NDArray[str_]: ... 237 @overload 238 def zfill(a: S_co, width: i_co) -> NDArray[bytes_]: ... 239 240 # String information 241 @overload 242 def count( 243 a: U_co, 244 sub: U_co, 245 start: i_co = ..., 246 end: None | i_co = ..., 247 ) -> NDArray[int_]: ... 248 @overload 249 def count( 250 a: S_co, 251 sub: S_co, 252 start: i_co = ..., 253 end: None | i_co = ..., 254 ) -> NDArray[int_]: ... 255 256 @overload 257 def endswith( 258 a: U_co, 259 suffix: U_co, 260 start: i_co = ..., 261 end: None | i_co = ..., 262 ) -> NDArray[bool_]: ... 263 @overload 264 def endswith( 265 a: S_co, 266 suffix: S_co, 267 start: i_co = ..., 268 end: None | i_co = ..., 269 ) -> NDArray[bool_]: ... 270 271 @overload 272 def find( 273 a: U_co, 274 sub: U_co, 275 start: i_co = ..., 276 end: None | i_co = ..., 277 ) -> NDArray[int_]: ... 278 @overload 279 def find( 280 a: S_co, 281 sub: S_co, 282 start: i_co = ..., 283 end: None | i_co = ..., 284 ) -> NDArray[int_]: ... 285 286 @overload 287 def index( 288 a: U_co, 289 sub: U_co, 290 start: i_co = ..., 291 end: None | i_co = ..., 292 ) -> NDArray[int_]: ... 293 @overload 294 def index( 295 a: S_co, 296 sub: S_co, 297 start: i_co = ..., 298 end: None | i_co = ..., 299 ) -> NDArray[int_]: ... 300 301 def isalpha(a: U_co | S_co) -> NDArray[bool_]: ... 302 def isalnum(a: U_co | S_co) -> NDArray[bool_]: ... 303 def isdecimal(a: U_co | S_co) -> NDArray[bool_]: ... 304 def isdigit(a: U_co | S_co) -> NDArray[bool_]: ... 305 def islower(a: U_co | S_co) -> NDArray[bool_]: ... 306 def isnumeric(a: U_co | S_co) -> NDArray[bool_]: ... 307 def isspace(a: U_co | S_co) -> NDArray[bool_]: ... 308 def istitle(a: U_co | S_co) -> NDArray[bool_]: ... 309 def isupper(a: U_co | S_co) -> NDArray[bool_]: ... 310 311 @overload 312 def rfind( 313 a: U_co, 314 sub: U_co, 315 start: i_co = ..., 316 end: None | i_co = ..., 317 ) -> NDArray[int_]: ... 318 @overload 319 def rfind( 320 a: S_co, 321 sub: S_co, 322 start: i_co = ..., 323 end: None | i_co = ..., 324 ) -> NDArray[int_]: ... 325 326 @overload 327 def rindex( 328 a: U_co, 329 sub: U_co, 330 start: i_co = ..., 331 end: None | i_co = ..., 332 ) -> NDArray[int_]: ... 333 @overload 334 def rindex( 335 a: S_co, 336 sub: S_co, 337 start: i_co = ..., 338 end: None | i_co = ..., 339 ) -> NDArray[int_]: ... 340 341 @overload 342 def startswith( 343 a: U_co, 344 prefix: U_co, 345 start: i_co = ..., 346 end: None | i_co = ..., 347 ) -> NDArray[bool_]: ... 348 @overload 349 def startswith( 350 a: S_co, 351 prefix: S_co, 352 start: i_co = ..., 353 end: None | i_co = ..., 354 ) -> NDArray[bool_]: ... 355 356 def str_len(A: U_co | S_co) -> NDArray[int_]: ... 357 358 # Overload 1 and 2: str- or bytes-based array-likes 359 # overload 3: arbitrary object with unicode=False (-> bytes_) 360 # overload 4: arbitrary object with unicode=True (-> str_) 361 @overload 362 def array( 363 obj: U_co, 364 itemsize: None | int = ..., 365 copy: bool = ..., 366 unicode: L[False] = ..., 367 order: _OrderKACF = ..., 368 ) -> _CharArray[str_]: ... 369 @overload 370 def array( 371 obj: S_co, 372 itemsize: None | int = ..., 373 copy: bool = ..., 374 unicode: L[False] = ..., 375 order: _OrderKACF = ..., 376 ) -> _CharArray[bytes_]: ... 377 @overload 378 def array( 379 obj: object, 380 itemsize: None | int = ..., 381 copy: bool = ..., 382 unicode: L[False] = ..., 383 order: _OrderKACF = ..., 384 ) -> _CharArray[bytes_]: ... 385 @overload 386 def array( 387 obj: object, 388 itemsize: None | int = ..., 389 copy: bool = ..., 390 unicode: L[True] = ..., 391 order: _OrderKACF = ..., 392 ) -> _CharArray[str_]: ... 393 394 @overload 395 def asarray( 396 obj: U_co, 397 itemsize: None | int = ..., 398 unicode: L[False] = ..., 399 order: _OrderKACF = ..., 400 ) -> _CharArray[str_]: ... 401 @overload 402 def asarray( 403 obj: S_co, 404 itemsize: None | int = ..., 405 unicode: L[False] = ..., 406 order: _OrderKACF = ..., 407 ) -> _CharArray[bytes_]: ... 408 @overload 409 def asarray( 410 obj: object, 411 itemsize: None | int = ..., 412 unicode: L[False] = ..., 413 order: _OrderKACF = ..., 414 ) -> _CharArray[bytes_]: ... 415 @overload 416 def asarray( 417 obj: object, 418 itemsize: None | int = ..., 419 unicode: L[True] = ..., 420 order: _OrderKACF = ..., 421 ) -> _CharArray[str_]: ...