defchararray.pyi 28 KB

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