defchararray.pyi 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096
  1. from typing import (
  2. Literal as L,
  3. overload,
  4. TypeAlias,
  5. TypeVar,
  6. Any,
  7. SupportsIndex,
  8. SupportsInt,
  9. )
  10. import numpy as np
  11. from numpy import (
  12. ndarray,
  13. dtype,
  14. str_,
  15. bytes_,
  16. int_,
  17. object_,
  18. _OrderKACF,
  19. _SupportsBuffer,
  20. _SupportsArray
  21. )
  22. from numpy._typing import (
  23. NDArray,
  24. _Shape,
  25. _ShapeLike,
  26. _ArrayLikeStr_co as U_co,
  27. _ArrayLikeBytes_co as S_co,
  28. _ArrayLikeString_co as T_co,
  29. _ArrayLikeAnyString_co as UST_co,
  30. _ArrayLikeInt_co as i_co,
  31. _ArrayLikeBool_co as b_co,
  32. )
  33. from numpy._core.multiarray import compare_chararrays
  34. __all__ = [
  35. "equal",
  36. "not_equal",
  37. "greater_equal",
  38. "less_equal",
  39. "greater",
  40. "less",
  41. "str_len",
  42. "add",
  43. "multiply",
  44. "mod",
  45. "capitalize",
  46. "center",
  47. "count",
  48. "decode",
  49. "encode",
  50. "endswith",
  51. "expandtabs",
  52. "find",
  53. "index",
  54. "isalnum",
  55. "isalpha",
  56. "isdigit",
  57. "islower",
  58. "isspace",
  59. "istitle",
  60. "isupper",
  61. "join",
  62. "ljust",
  63. "lower",
  64. "lstrip",
  65. "partition",
  66. "replace",
  67. "rfind",
  68. "rindex",
  69. "rjust",
  70. "rpartition",
  71. "rsplit",
  72. "rstrip",
  73. "split",
  74. "splitlines",
  75. "startswith",
  76. "strip",
  77. "swapcase",
  78. "title",
  79. "translate",
  80. "upper",
  81. "zfill",
  82. "isnumeric",
  83. "isdecimal",
  84. "array",
  85. "asarray",
  86. "compare_chararrays",
  87. "chararray",
  88. ]
  89. _ShapeT_co = TypeVar("_ShapeT_co", bound=tuple[int, ...], covariant=True)
  90. _SCT = TypeVar("_SCT", bound=np.character)
  91. _CharDType_co = TypeVar("_CharDType_co", bound=dtype[np.character], covariant=True)
  92. _CharArray: TypeAlias = chararray[tuple[int, ...], dtype[_SCT]]
  93. _StringDTypeArray: TypeAlias = np.ndarray[_Shape, np.dtypes.StringDType]
  94. _StringDTypeSupportsArray: TypeAlias = _SupportsArray[np.dtypes.StringDType]
  95. _StringDTypeOrUnicodeArray: TypeAlias = np.ndarray[_Shape, np.dtype[np.str_]] | np.ndarray[_Shape, np.dtypes.StringDType]
  96. class chararray(ndarray[_ShapeT_co, _CharDType_co]):
  97. @overload
  98. def __new__(
  99. subtype,
  100. shape: _ShapeLike,
  101. itemsize: SupportsIndex | SupportsInt = ...,
  102. unicode: L[False] = ...,
  103. buffer: _SupportsBuffer = ...,
  104. offset: SupportsIndex = ...,
  105. strides: _ShapeLike = ...,
  106. order: _OrderKACF = ...,
  107. ) -> chararray[_Shape, dtype[bytes_]]: ...
  108. @overload
  109. def __new__(
  110. subtype,
  111. shape: _ShapeLike,
  112. itemsize: SupportsIndex | SupportsInt = ...,
  113. unicode: L[True] = ...,
  114. buffer: _SupportsBuffer = ...,
  115. offset: SupportsIndex = ...,
  116. strides: _ShapeLike = ...,
  117. order: _OrderKACF = ...,
  118. ) -> chararray[_Shape, dtype[str_]]: ...
  119. def __array_finalize__(self, obj: object) -> None: ...
  120. def __mul__(self, other: i_co) -> chararray[_Shape, _CharDType_co]: ...
  121. def __rmul__(self, other: i_co) -> chararray[_Shape, _CharDType_co]: ...
  122. def __mod__(self, i: Any) -> chararray[_Shape, _CharDType_co]: ...
  123. @overload
  124. def __eq__(
  125. self: _CharArray[str_],
  126. other: U_co,
  127. ) -> NDArray[np.bool]: ...
  128. @overload
  129. def __eq__(
  130. self: _CharArray[bytes_],
  131. other: S_co,
  132. ) -> NDArray[np.bool]: ...
  133. @overload
  134. def __ne__(
  135. self: _CharArray[str_],
  136. other: U_co,
  137. ) -> NDArray[np.bool]: ...
  138. @overload
  139. def __ne__(
  140. self: _CharArray[bytes_],
  141. other: S_co,
  142. ) -> NDArray[np.bool]: ...
  143. @overload
  144. def __ge__(
  145. self: _CharArray[str_],
  146. other: U_co,
  147. ) -> NDArray[np.bool]: ...
  148. @overload
  149. def __ge__(
  150. self: _CharArray[bytes_],
  151. other: S_co,
  152. ) -> NDArray[np.bool]: ...
  153. @overload
  154. def __le__(
  155. self: _CharArray[str_],
  156. other: U_co,
  157. ) -> NDArray[np.bool]: ...
  158. @overload
  159. def __le__(
  160. self: _CharArray[bytes_],
  161. other: S_co,
  162. ) -> NDArray[np.bool]: ...
  163. @overload
  164. def __gt__(
  165. self: _CharArray[str_],
  166. other: U_co,
  167. ) -> NDArray[np.bool]: ...
  168. @overload
  169. def __gt__(
  170. self: _CharArray[bytes_],
  171. other: S_co,
  172. ) -> NDArray[np.bool]: ...
  173. @overload
  174. def __lt__(
  175. self: _CharArray[str_],
  176. other: U_co,
  177. ) -> NDArray[np.bool]: ...
  178. @overload
  179. def __lt__(
  180. self: _CharArray[bytes_],
  181. other: S_co,
  182. ) -> NDArray[np.bool]: ...
  183. @overload
  184. def __add__(
  185. self: _CharArray[str_],
  186. other: U_co,
  187. ) -> _CharArray[str_]: ...
  188. @overload
  189. def __add__(
  190. self: _CharArray[bytes_],
  191. other: S_co,
  192. ) -> _CharArray[bytes_]: ...
  193. @overload
  194. def __radd__(
  195. self: _CharArray[str_],
  196. other: U_co,
  197. ) -> _CharArray[str_]: ...
  198. @overload
  199. def __radd__(
  200. self: _CharArray[bytes_],
  201. other: S_co,
  202. ) -> _CharArray[bytes_]: ...
  203. @overload
  204. def center(
  205. self: _CharArray[str_],
  206. width: i_co,
  207. fillchar: U_co = ...,
  208. ) -> _CharArray[str_]: ...
  209. @overload
  210. def center(
  211. self: _CharArray[bytes_],
  212. width: i_co,
  213. fillchar: S_co = ...,
  214. ) -> _CharArray[bytes_]: ...
  215. @overload
  216. def count(
  217. self: _CharArray[str_],
  218. sub: U_co,
  219. start: i_co = ...,
  220. end: None | i_co = ...,
  221. ) -> NDArray[int_]: ...
  222. @overload
  223. def count(
  224. self: _CharArray[bytes_],
  225. sub: S_co,
  226. start: i_co = ...,
  227. end: None | i_co = ...,
  228. ) -> NDArray[int_]: ...
  229. def decode(
  230. self: _CharArray[bytes_],
  231. encoding: None | str = ...,
  232. errors: None | str = ...,
  233. ) -> _CharArray[str_]: ...
  234. def encode(
  235. self: _CharArray[str_],
  236. encoding: None | str = ...,
  237. errors: None | str = ...,
  238. ) -> _CharArray[bytes_]: ...
  239. @overload
  240. def endswith(
  241. self: _CharArray[str_],
  242. suffix: U_co,
  243. start: i_co = ...,
  244. end: None | i_co = ...,
  245. ) -> NDArray[np.bool]: ...
  246. @overload
  247. def endswith(
  248. self: _CharArray[bytes_],
  249. suffix: S_co,
  250. start: i_co = ...,
  251. end: None | i_co = ...,
  252. ) -> NDArray[np.bool]: ...
  253. def expandtabs(
  254. self,
  255. tabsize: i_co = ...,
  256. ) -> chararray[_Shape, _CharDType_co]: ...
  257. @overload
  258. def find(
  259. self: _CharArray[str_],
  260. sub: U_co,
  261. start: i_co = ...,
  262. end: None | i_co = ...,
  263. ) -> NDArray[int_]: ...
  264. @overload
  265. def find(
  266. self: _CharArray[bytes_],
  267. sub: S_co,
  268. start: i_co = ...,
  269. end: None | i_co = ...,
  270. ) -> NDArray[int_]: ...
  271. @overload
  272. def index(
  273. self: _CharArray[str_],
  274. sub: U_co,
  275. start: i_co = ...,
  276. end: None | i_co = ...,
  277. ) -> NDArray[int_]: ...
  278. @overload
  279. def index(
  280. self: _CharArray[bytes_],
  281. sub: S_co,
  282. start: i_co = ...,
  283. end: None | i_co = ...,
  284. ) -> NDArray[int_]: ...
  285. @overload
  286. def join(
  287. self: _CharArray[str_],
  288. seq: U_co,
  289. ) -> _CharArray[str_]: ...
  290. @overload
  291. def join(
  292. self: _CharArray[bytes_],
  293. seq: S_co,
  294. ) -> _CharArray[bytes_]: ...
  295. @overload
  296. def ljust(
  297. self: _CharArray[str_],
  298. width: i_co,
  299. fillchar: U_co = ...,
  300. ) -> _CharArray[str_]: ...
  301. @overload
  302. def ljust(
  303. self: _CharArray[bytes_],
  304. width: i_co,
  305. fillchar: S_co = ...,
  306. ) -> _CharArray[bytes_]: ...
  307. @overload
  308. def lstrip(
  309. self: _CharArray[str_],
  310. chars: None | U_co = ...,
  311. ) -> _CharArray[str_]: ...
  312. @overload
  313. def lstrip(
  314. self: _CharArray[bytes_],
  315. chars: None | S_co = ...,
  316. ) -> _CharArray[bytes_]: ...
  317. @overload
  318. def partition(
  319. self: _CharArray[str_],
  320. sep: U_co,
  321. ) -> _CharArray[str_]: ...
  322. @overload
  323. def partition(
  324. self: _CharArray[bytes_],
  325. sep: S_co,
  326. ) -> _CharArray[bytes_]: ...
  327. @overload
  328. def replace(
  329. self: _CharArray[str_],
  330. old: U_co,
  331. new: U_co,
  332. count: None | i_co = ...,
  333. ) -> _CharArray[str_]: ...
  334. @overload
  335. def replace(
  336. self: _CharArray[bytes_],
  337. old: S_co,
  338. new: S_co,
  339. count: None | i_co = ...,
  340. ) -> _CharArray[bytes_]: ...
  341. @overload
  342. def rfind(
  343. self: _CharArray[str_],
  344. sub: U_co,
  345. start: i_co = ...,
  346. end: None | i_co = ...,
  347. ) -> NDArray[int_]: ...
  348. @overload
  349. def rfind(
  350. self: _CharArray[bytes_],
  351. sub: S_co,
  352. start: i_co = ...,
  353. end: None | i_co = ...,
  354. ) -> NDArray[int_]: ...
  355. @overload
  356. def rindex(
  357. self: _CharArray[str_],
  358. sub: U_co,
  359. start: i_co = ...,
  360. end: None | i_co = ...,
  361. ) -> NDArray[int_]: ...
  362. @overload
  363. def rindex(
  364. self: _CharArray[bytes_],
  365. sub: S_co,
  366. start: i_co = ...,
  367. end: None | i_co = ...,
  368. ) -> NDArray[int_]: ...
  369. @overload
  370. def rjust(
  371. self: _CharArray[str_],
  372. width: i_co,
  373. fillchar: U_co = ...,
  374. ) -> _CharArray[str_]: ...
  375. @overload
  376. def rjust(
  377. self: _CharArray[bytes_],
  378. width: i_co,
  379. fillchar: S_co = ...,
  380. ) -> _CharArray[bytes_]: ...
  381. @overload
  382. def rpartition(
  383. self: _CharArray[str_],
  384. sep: U_co,
  385. ) -> _CharArray[str_]: ...
  386. @overload
  387. def rpartition(
  388. self: _CharArray[bytes_],
  389. sep: S_co,
  390. ) -> _CharArray[bytes_]: ...
  391. @overload
  392. def rsplit(
  393. self: _CharArray[str_],
  394. sep: None | U_co = ...,
  395. maxsplit: None | i_co = ...,
  396. ) -> NDArray[object_]: ...
  397. @overload
  398. def rsplit(
  399. self: _CharArray[bytes_],
  400. sep: None | S_co = ...,
  401. maxsplit: None | i_co = ...,
  402. ) -> NDArray[object_]: ...
  403. @overload
  404. def rstrip(
  405. self: _CharArray[str_],
  406. chars: None | U_co = ...,
  407. ) -> _CharArray[str_]: ...
  408. @overload
  409. def rstrip(
  410. self: _CharArray[bytes_],
  411. chars: None | S_co = ...,
  412. ) -> _CharArray[bytes_]: ...
  413. @overload
  414. def split(
  415. self: _CharArray[str_],
  416. sep: None | U_co = ...,
  417. maxsplit: None | i_co = ...,
  418. ) -> NDArray[object_]: ...
  419. @overload
  420. def split(
  421. self: _CharArray[bytes_],
  422. sep: None | S_co = ...,
  423. maxsplit: None | i_co = ...,
  424. ) -> NDArray[object_]: ...
  425. def splitlines(self, keepends: None | b_co = ...) -> NDArray[object_]: ...
  426. @overload
  427. def startswith(
  428. self: _CharArray[str_],
  429. prefix: U_co,
  430. start: i_co = ...,
  431. end: None | i_co = ...,
  432. ) -> NDArray[np.bool]: ...
  433. @overload
  434. def startswith(
  435. self: _CharArray[bytes_],
  436. prefix: S_co,
  437. start: i_co = ...,
  438. end: None | i_co = ...,
  439. ) -> NDArray[np.bool]: ...
  440. @overload
  441. def strip(
  442. self: _CharArray[str_],
  443. chars: None | U_co = ...,
  444. ) -> _CharArray[str_]: ...
  445. @overload
  446. def strip(
  447. self: _CharArray[bytes_],
  448. chars: None | S_co = ...,
  449. ) -> _CharArray[bytes_]: ...
  450. @overload
  451. def translate(
  452. self: _CharArray[str_],
  453. table: U_co,
  454. deletechars: None | U_co = ...,
  455. ) -> _CharArray[str_]: ...
  456. @overload
  457. def translate(
  458. self: _CharArray[bytes_],
  459. table: S_co,
  460. deletechars: None | S_co = ...,
  461. ) -> _CharArray[bytes_]: ...
  462. def zfill(self, width: i_co) -> chararray[_Shape, _CharDType_co]: ...
  463. def capitalize(self) -> chararray[_ShapeT_co, _CharDType_co]: ...
  464. def title(self) -> chararray[_ShapeT_co, _CharDType_co]: ...
  465. def swapcase(self) -> chararray[_ShapeT_co, _CharDType_co]: ...
  466. def lower(self) -> chararray[_ShapeT_co, _CharDType_co]: ...
  467. def upper(self) -> chararray[_ShapeT_co, _CharDType_co]: ...
  468. def isalnum(self) -> ndarray[_ShapeT_co, dtype[np.bool]]: ...
  469. def isalpha(self) -> ndarray[_ShapeT_co, dtype[np.bool]]: ...
  470. def isdigit(self) -> ndarray[_ShapeT_co, dtype[np.bool]]: ...
  471. def islower(self) -> ndarray[_ShapeT_co, dtype[np.bool]]: ...
  472. def isspace(self) -> ndarray[_ShapeT_co, dtype[np.bool]]: ...
  473. def istitle(self) -> ndarray[_ShapeT_co, dtype[np.bool]]: ...
  474. def isupper(self) -> ndarray[_ShapeT_co, dtype[np.bool]]: ...
  475. def isnumeric(self) -> ndarray[_ShapeT_co, dtype[np.bool]]: ...
  476. def isdecimal(self) -> ndarray[_ShapeT_co, dtype[np.bool]]: ...
  477. # Comparison
  478. @overload
  479. def equal(x1: U_co, x2: U_co) -> NDArray[np.bool]: ...
  480. @overload
  481. def equal(x1: S_co, x2: S_co) -> NDArray[np.bool]: ...
  482. @overload
  483. def equal(x1: T_co, x2: T_co) -> NDArray[np.bool]: ...
  484. @overload
  485. def not_equal(x1: U_co, x2: U_co) -> NDArray[np.bool]: ...
  486. @overload
  487. def not_equal(x1: S_co, x2: S_co) -> NDArray[np.bool]: ...
  488. @overload
  489. def not_equal(x1: T_co, x2: T_co) -> NDArray[np.bool]: ...
  490. @overload
  491. def greater_equal(x1: U_co, x2: U_co) -> NDArray[np.bool]: ...
  492. @overload
  493. def greater_equal(x1: S_co, x2: S_co) -> NDArray[np.bool]: ...
  494. @overload
  495. def greater_equal(x1: T_co, x2: T_co) -> NDArray[np.bool]: ...
  496. @overload
  497. def less_equal(x1: U_co, x2: U_co) -> NDArray[np.bool]: ...
  498. @overload
  499. def less_equal(x1: S_co, x2: S_co) -> NDArray[np.bool]: ...
  500. @overload
  501. def less_equal(x1: T_co, x2: T_co) -> NDArray[np.bool]: ...
  502. @overload
  503. def greater(x1: U_co, x2: U_co) -> NDArray[np.bool]: ...
  504. @overload
  505. def greater(x1: S_co, x2: S_co) -> NDArray[np.bool]: ...
  506. @overload
  507. def greater(x1: T_co, x2: T_co) -> NDArray[np.bool]: ...
  508. @overload
  509. def less(x1: U_co, x2: U_co) -> NDArray[np.bool]: ...
  510. @overload
  511. def less(x1: S_co, x2: S_co) -> NDArray[np.bool]: ...
  512. @overload
  513. def less(x1: T_co, x2: T_co) -> NDArray[np.bool]: ...
  514. @overload
  515. def add(x1: U_co, x2: U_co) -> NDArray[np.str_]: ...
  516. @overload
  517. def add(x1: S_co, x2: S_co) -> NDArray[np.bytes_]: ...
  518. @overload
  519. def add(x1: _StringDTypeSupportsArray, x2: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
  520. @overload
  521. def add(x1: T_co, T_co) -> _StringDTypeOrUnicodeArray: ...
  522. @overload
  523. def multiply(a: U_co, i: i_co) -> NDArray[np.str_]: ...
  524. @overload
  525. def multiply(a: S_co, i: i_co) -> NDArray[np.bytes_]: ...
  526. @overload
  527. def multiply(a: _StringDTypeSupportsArray, i: i_co) -> _StringDTypeArray: ...
  528. @overload
  529. def multiply(a: T_co, i: i_co) -> _StringDTypeOrUnicodeArray: ...
  530. @overload
  531. def mod(a: U_co, value: Any) -> NDArray[np.str_]: ...
  532. @overload
  533. def mod(a: S_co, value: Any) -> NDArray[np.bytes_]: ...
  534. @overload
  535. def mod(a: _StringDTypeSupportsArray, value: Any) -> _StringDTypeArray: ...
  536. @overload
  537. def mod(a: T_co, value: Any) -> _StringDTypeOrUnicodeArray: ...
  538. @overload
  539. def capitalize(a: U_co) -> NDArray[str_]: ...
  540. @overload
  541. def capitalize(a: S_co) -> NDArray[bytes_]: ...
  542. @overload
  543. def capitalize(a: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
  544. @overload
  545. def capitalize(a: T_co) -> _StringDTypeOrUnicodeArray: ...
  546. @overload
  547. def center(a: U_co, width: i_co, fillchar: U_co = ...) -> NDArray[str_]: ...
  548. @overload
  549. def center(a: S_co, width: i_co, fillchar: S_co = ...) -> NDArray[bytes_]: ...
  550. @overload
  551. def center(a: _StringDTypeSupportsArray, width: i_co, fillchar: _StringDTypeSupportsArray = ...) -> _StringDTypeArray: ...
  552. @overload
  553. def center(a: T_co, width: i_co, fillchar: T_co = ...) -> _StringDTypeOrUnicodeArray: ...
  554. def decode(
  555. a: S_co,
  556. encoding: None | str = ...,
  557. errors: None | str = ...,
  558. ) -> NDArray[str_]: ...
  559. def encode(
  560. a: U_co | T_co,
  561. encoding: None | str = ...,
  562. errors: None | str = ...,
  563. ) -> NDArray[bytes_]: ...
  564. @overload
  565. def expandtabs(a: U_co, tabsize: i_co = ...) -> NDArray[str_]: ...
  566. @overload
  567. def expandtabs(a: S_co, tabsize: i_co = ...) -> NDArray[bytes_]: ...
  568. @overload
  569. def expandtabs(a: _StringDTypeSupportsArray, tabsize: i_co = ...) -> _StringDTypeArray: ...
  570. @overload
  571. def expandtabs(a: T_co, tabsize: i_co = ...) -> _StringDTypeOrUnicodeArray: ...
  572. @overload
  573. def join(sep: U_co, seq: U_co) -> NDArray[str_]: ...
  574. @overload
  575. def join(sep: S_co, seq: S_co) -> NDArray[bytes_]: ...
  576. @overload
  577. def join(sep: _StringDTypeSupportsArray, seq: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
  578. @overload
  579. def join(sep: T_co, seq: T_co) -> _StringDTypeOrUnicodeArray: ...
  580. @overload
  581. def ljust(a: U_co, width: i_co, fillchar: U_co = ...) -> NDArray[str_]: ...
  582. @overload
  583. def ljust(a: S_co, width: i_co, fillchar: S_co = ...) -> NDArray[bytes_]: ...
  584. @overload
  585. def ljust(a: _StringDTypeSupportsArray, width: i_co, fillchar: _StringDTypeSupportsArray = ...) -> _StringDTypeArray: ...
  586. @overload
  587. def ljust(a: T_co, width: i_co, fillchar: T_co = ...) -> _StringDTypeOrUnicodeArray: ...
  588. @overload
  589. def lower(a: U_co) -> NDArray[str_]: ...
  590. @overload
  591. def lower(a: S_co) -> NDArray[bytes_]: ...
  592. @overload
  593. def lower(a: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
  594. @overload
  595. def lower(a: T_co) -> _StringDTypeOrUnicodeArray: ...
  596. @overload
  597. def lstrip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ...
  598. @overload
  599. def lstrip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ...
  600. @overload
  601. def lstrip(a: _StringDTypeSupportsArray, chars: None | _StringDTypeSupportsArray = ...) -> _StringDTypeArray: ...
  602. @overload
  603. def lstrip(a: T_co, chars: None | T_co = ...) -> _StringDTypeOrUnicodeArray: ...
  604. @overload
  605. def partition(a: U_co, sep: U_co) -> NDArray[str_]: ...
  606. @overload
  607. def partition(a: S_co, sep: S_co) -> NDArray[bytes_]: ...
  608. @overload
  609. def partition(a: _StringDTypeSupportsArray, sep: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
  610. @overload
  611. def partition(a: T_co, sep: T_co) -> _StringDTypeOrUnicodeArray: ...
  612. @overload
  613. def replace(
  614. a: U_co,
  615. old: U_co,
  616. new: U_co,
  617. count: None | i_co = ...,
  618. ) -> NDArray[str_]: ...
  619. @overload
  620. def replace(
  621. a: S_co,
  622. old: S_co,
  623. new: S_co,
  624. count: None | i_co = ...,
  625. ) -> NDArray[bytes_]: ...
  626. @overload
  627. def replace(
  628. a: _StringDTypeSupportsArray,
  629. old: _StringDTypeSupportsArray,
  630. new: _StringDTypeSupportsArray,
  631. count: i_co = ...,
  632. ) -> _StringDTypeArray: ...
  633. @overload
  634. def replace(
  635. a: T_co,
  636. old: T_co,
  637. new: T_co,
  638. count: i_co = ...,
  639. ) -> _StringDTypeOrUnicodeArray: ...
  640. @overload
  641. def rjust(
  642. a: U_co,
  643. width: i_co,
  644. fillchar: U_co = ...,
  645. ) -> NDArray[str_]: ...
  646. @overload
  647. def rjust(
  648. a: S_co,
  649. width: i_co,
  650. fillchar: S_co = ...,
  651. ) -> NDArray[bytes_]: ...
  652. @overload
  653. def rjust(
  654. a: _StringDTypeSupportsArray,
  655. width: i_co,
  656. fillchar: _StringDTypeSupportsArray = ...,
  657. ) -> _StringDTypeArray: ...
  658. @overload
  659. def rjust(
  660. a: T_co,
  661. width: i_co,
  662. fillchar: T_co = ...,
  663. ) -> _StringDTypeOrUnicodeArray: ...
  664. @overload
  665. def rpartition(a: U_co, sep: U_co) -> NDArray[str_]: ...
  666. @overload
  667. def rpartition(a: S_co, sep: S_co) -> NDArray[bytes_]: ...
  668. @overload
  669. def rpartition(a: _StringDTypeSupportsArray, sep: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
  670. @overload
  671. def rpartition(a: T_co, sep: T_co) -> _StringDTypeOrUnicodeArray: ...
  672. @overload
  673. def rsplit(
  674. a: U_co,
  675. sep: None | U_co = ...,
  676. maxsplit: None | i_co = ...,
  677. ) -> NDArray[object_]: ...
  678. @overload
  679. def rsplit(
  680. a: S_co,
  681. sep: None | S_co = ...,
  682. maxsplit: None | i_co = ...,
  683. ) -> NDArray[object_]: ...
  684. @overload
  685. def rsplit(
  686. a: _StringDTypeSupportsArray,
  687. sep: None | _StringDTypeSupportsArray = ...,
  688. maxsplit: None | i_co = ...,
  689. ) -> NDArray[object_]: ...
  690. @overload
  691. def rsplit(
  692. a: T_co,
  693. sep: None | T_co = ...,
  694. maxsplit: None | i_co = ...,
  695. ) -> NDArray[object_]: ...
  696. @overload
  697. def rstrip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ...
  698. @overload
  699. def rstrip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ...
  700. @overload
  701. def rstrip(a: _StringDTypeSupportsArray, chars: None | _StringDTypeSupportsArray = ...) -> _StringDTypeArray: ...
  702. @overload
  703. def rstrip(a: T_co, chars: None | T_co = ...) -> _StringDTypeOrUnicodeArray: ...
  704. @overload
  705. def split(
  706. a: U_co,
  707. sep: None | U_co = ...,
  708. maxsplit: None | i_co = ...,
  709. ) -> NDArray[object_]: ...
  710. @overload
  711. def split(
  712. a: S_co,
  713. sep: None | S_co = ...,
  714. maxsplit: None | i_co = ...,
  715. ) -> NDArray[object_]: ...
  716. @overload
  717. def split(
  718. a: _StringDTypeSupportsArray,
  719. sep: None | _StringDTypeSupportsArray = ...,
  720. maxsplit: None | i_co = ...,
  721. ) -> NDArray[object_]: ...
  722. @overload
  723. def split(
  724. a: T_co,
  725. sep: None | T_co = ...,
  726. maxsplit: None | i_co = ...,
  727. ) -> NDArray[object_]: ...
  728. def splitlines(a: UST_co, keepends: None | b_co = ...) -> NDArray[np.object_]: ...
  729. @overload
  730. def strip(a: U_co, chars: None | U_co = ...) -> NDArray[str_]: ...
  731. @overload
  732. def strip(a: S_co, chars: None | S_co = ...) -> NDArray[bytes_]: ...
  733. @overload
  734. def strip(a: _StringDTypeSupportsArray, chars: None | _StringDTypeSupportsArray = ...) -> _StringDTypeArray: ...
  735. @overload
  736. def strip(a: T_co, chars: None | T_co = ...) -> _StringDTypeOrUnicodeArray: ...
  737. @overload
  738. def swapcase(a: U_co) -> NDArray[str_]: ...
  739. @overload
  740. def swapcase(a: S_co) -> NDArray[bytes_]: ...
  741. @overload
  742. def swapcase(a: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
  743. @overload
  744. def swapcase(a: T_co) -> _StringDTypeOrUnicodeArray: ...
  745. @overload
  746. def title(a: U_co) -> NDArray[str_]: ...
  747. @overload
  748. def title(a: S_co) -> NDArray[bytes_]: ...
  749. @overload
  750. def title(a: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
  751. @overload
  752. def title(a: T_co) -> _StringDTypeOrUnicodeArray: ...
  753. @overload
  754. def translate(
  755. a: U_co,
  756. table: str,
  757. deletechars: None | str = ...,
  758. ) -> NDArray[str_]: ...
  759. @overload
  760. def translate(
  761. a: S_co,
  762. table: str,
  763. deletechars: None | str = ...,
  764. ) -> NDArray[bytes_]: ...
  765. @overload
  766. def translate(
  767. a: _StringDTypeSupportsArray,
  768. table: str,
  769. deletechars: None | str = ...,
  770. ) -> _StringDTypeArray: ...
  771. @overload
  772. def translate(
  773. a: T_co,
  774. table: str,
  775. deletechars: None | str = ...,
  776. ) -> _StringDTypeOrUnicodeArray: ...
  777. @overload
  778. def upper(a: U_co) -> NDArray[str_]: ...
  779. @overload
  780. def upper(a: S_co) -> NDArray[bytes_]: ...
  781. @overload
  782. def upper(a: _StringDTypeSupportsArray) -> _StringDTypeArray: ...
  783. @overload
  784. def upper(a: T_co) -> _StringDTypeOrUnicodeArray: ...
  785. @overload
  786. def zfill(a: U_co, width: i_co) -> NDArray[str_]: ...
  787. @overload
  788. def zfill(a: S_co, width: i_co) -> NDArray[bytes_]: ...
  789. @overload
  790. def zfill(a: _StringDTypeSupportsArray, width: i_co) -> _StringDTypeArray: ...
  791. @overload
  792. def zfill(a: T_co, width: i_co) -> _StringDTypeOrUnicodeArray: ...
  793. # String information
  794. @overload
  795. def count(
  796. a: U_co,
  797. sub: U_co,
  798. start: i_co = ...,
  799. end: None | i_co = ...,
  800. ) -> NDArray[int_]: ...
  801. @overload
  802. def count(
  803. a: S_co,
  804. sub: S_co,
  805. start: i_co = ...,
  806. end: None | i_co = ...,
  807. ) -> NDArray[int_]: ...
  808. @overload
  809. def count(
  810. a: T_co,
  811. sub: T_co,
  812. start: i_co = ...,
  813. end: i_co | None = ...,
  814. ) -> NDArray[np.int_]: ...
  815. @overload
  816. def endswith(
  817. a: U_co,
  818. suffix: U_co,
  819. start: i_co = ...,
  820. end: None | i_co = ...,
  821. ) -> NDArray[np.bool]: ...
  822. @overload
  823. def endswith(
  824. a: S_co,
  825. suffix: S_co,
  826. start: i_co = ...,
  827. end: None | i_co = ...,
  828. ) -> NDArray[np.bool]: ...
  829. @overload
  830. def endswith(
  831. a: T_co,
  832. suffix: T_co,
  833. start: i_co = ...,
  834. end: i_co | None = ...,
  835. ) -> NDArray[np.bool]: ...
  836. @overload
  837. def find(
  838. a: U_co,
  839. sub: U_co,
  840. start: i_co = ...,
  841. end: None | i_co = ...,
  842. ) -> NDArray[int_]: ...
  843. @overload
  844. def find(
  845. a: S_co,
  846. sub: S_co,
  847. start: i_co = ...,
  848. end: None | i_co = ...,
  849. ) -> NDArray[int_]: ...
  850. @overload
  851. def find(
  852. a: T_co,
  853. sub: T_co,
  854. start: i_co = ...,
  855. end: i_co | None = ...,
  856. ) -> NDArray[np.int_]: ...
  857. @overload
  858. def index(
  859. a: U_co,
  860. sub: U_co,
  861. start: i_co = ...,
  862. end: None | i_co = ...,
  863. ) -> NDArray[int_]: ...
  864. @overload
  865. def index(
  866. a: S_co,
  867. sub: S_co,
  868. start: i_co = ...,
  869. end: None | i_co = ...,
  870. ) -> NDArray[int_]: ...
  871. @overload
  872. def index(
  873. a: T_co,
  874. sub: T_co,
  875. start: i_co = ...,
  876. end: i_co | None = ...,
  877. ) -> NDArray[np.int_]: ...
  878. def isalpha(a: UST_co) -> NDArray[np.bool]: ...
  879. def isalnum(a: UST_co) -> NDArray[np.bool]: ...
  880. def isdecimal(a: U_co | T_co) -> NDArray[np.bool]: ...
  881. def isdigit(a: UST_co) -> NDArray[np.bool]: ...
  882. def islower(a: UST_co) -> NDArray[np.bool]: ...
  883. def isnumeric(a: U_co | T_co) -> NDArray[np.bool]: ...
  884. def isspace(a: UST_co) -> NDArray[np.bool]: ...
  885. def istitle(a: UST_co) -> NDArray[np.bool]: ...
  886. def isupper(a: UST_co) -> NDArray[np.bool]: ...
  887. @overload
  888. def rfind(
  889. a: U_co,
  890. sub: U_co,
  891. start: i_co = ...,
  892. end: None | i_co = ...,
  893. ) -> NDArray[int_]: ...
  894. @overload
  895. def rfind(
  896. a: S_co,
  897. sub: S_co,
  898. start: i_co = ...,
  899. end: None | i_co = ...,
  900. ) -> NDArray[int_]: ...
  901. @overload
  902. def rfind(
  903. a: T_co,
  904. sub: T_co,
  905. start: i_co = ...,
  906. end: i_co | None = ...,
  907. ) -> NDArray[np.int_]: ...
  908. @overload
  909. def rindex(
  910. a: U_co,
  911. sub: U_co,
  912. start: i_co = ...,
  913. end: None | i_co = ...,
  914. ) -> NDArray[int_]: ...
  915. @overload
  916. def rindex(
  917. a: S_co,
  918. sub: S_co,
  919. start: i_co = ...,
  920. end: None | i_co = ...,
  921. ) -> NDArray[int_]: ...
  922. @overload
  923. def rindex(
  924. a: T_co,
  925. sub: T_co,
  926. start: i_co = ...,
  927. end: i_co | None = ...,
  928. ) -> NDArray[np.int_]: ...
  929. @overload
  930. def startswith(
  931. a: U_co,
  932. prefix: U_co,
  933. start: i_co = ...,
  934. end: None | i_co = ...,
  935. ) -> NDArray[np.bool]: ...
  936. @overload
  937. def startswith(
  938. a: S_co,
  939. prefix: S_co,
  940. start: i_co = ...,
  941. end: None | i_co = ...,
  942. ) -> NDArray[np.bool]: ...
  943. @overload
  944. def startswith(
  945. a: T_co,
  946. suffix: T_co,
  947. start: i_co = ...,
  948. end: i_co | None = ...,
  949. ) -> NDArray[np.bool]: ...
  950. def str_len(A: UST_co) -> NDArray[int_]: ...
  951. # Overload 1 and 2: str- or bytes-based array-likes
  952. # overload 3: arbitrary object with unicode=False (-> bytes_)
  953. # overload 4: arbitrary object with unicode=True (-> str_)
  954. @overload
  955. def array(
  956. obj: U_co,
  957. itemsize: None | int = ...,
  958. copy: bool = ...,
  959. unicode: L[False] = ...,
  960. order: _OrderKACF = ...,
  961. ) -> _CharArray[str_]: ...
  962. @overload
  963. def array(
  964. obj: S_co,
  965. itemsize: None | int = ...,
  966. copy: bool = ...,
  967. unicode: L[False] = ...,
  968. order: _OrderKACF = ...,
  969. ) -> _CharArray[bytes_]: ...
  970. @overload
  971. def array(
  972. obj: object,
  973. itemsize: None | int = ...,
  974. copy: bool = ...,
  975. unicode: L[False] = ...,
  976. order: _OrderKACF = ...,
  977. ) -> _CharArray[bytes_]: ...
  978. @overload
  979. def array(
  980. obj: object,
  981. itemsize: None | int = ...,
  982. copy: bool = ...,
  983. unicode: L[True] = ...,
  984. order: _OrderKACF = ...,
  985. ) -> _CharArray[str_]: ...
  986. @overload
  987. def asarray(
  988. obj: U_co,
  989. itemsize: None | int = ...,
  990. unicode: L[False] = ...,
  991. order: _OrderKACF = ...,
  992. ) -> _CharArray[str_]: ...
  993. @overload
  994. def asarray(
  995. obj: S_co,
  996. itemsize: None | int = ...,
  997. unicode: L[False] = ...,
  998. order: _OrderKACF = ...,
  999. ) -> _CharArray[bytes_]: ...
  1000. @overload
  1001. def asarray(
  1002. obj: object,
  1003. itemsize: None | int = ...,
  1004. unicode: L[False] = ...,
  1005. order: _OrderKACF = ...,
  1006. ) -> _CharArray[bytes_]: ...
  1007. @overload
  1008. def asarray(
  1009. obj: object,
  1010. itemsize: None | int = ...,
  1011. unicode: L[True] = ...,
  1012. order: _OrderKACF = ...,
  1013. ) -> _CharArray[str_]: ...