char.pyi 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. import numpy as np
  2. import numpy.typing as npt
  3. import numpy._typing as np_t
  4. from typing_extensions import assert_type
  5. from typing import TypeAlias
  6. AR_U: npt.NDArray[np.str_]
  7. AR_S: npt.NDArray[np.bytes_]
  8. AR_T: np.ndarray[np_t._Shape, np.dtypes.StringDType]
  9. AR_T_alias: TypeAlias = np.ndarray[np_t._Shape, np.dtypes.StringDType]
  10. AR_TU_alias: TypeAlias = AR_T_alias | npt.NDArray[np.str_]
  11. assert_type(np.char.equal(AR_U, AR_U), npt.NDArray[np.bool])
  12. assert_type(np.char.equal(AR_S, AR_S), npt.NDArray[np.bool])
  13. assert_type(np.char.equal(AR_T, AR_T), npt.NDArray[np.bool])
  14. assert_type(np.char.not_equal(AR_U, AR_U), npt.NDArray[np.bool])
  15. assert_type(np.char.not_equal(AR_S, AR_S), npt.NDArray[np.bool])
  16. assert_type(np.char.not_equal(AR_T, AR_T), npt.NDArray[np.bool])
  17. assert_type(np.char.greater_equal(AR_U, AR_U), npt.NDArray[np.bool])
  18. assert_type(np.char.greater_equal(AR_S, AR_S), npt.NDArray[np.bool])
  19. assert_type(np.char.greater_equal(AR_T, AR_T), npt.NDArray[np.bool])
  20. assert_type(np.char.less_equal(AR_U, AR_U), npt.NDArray[np.bool])
  21. assert_type(np.char.less_equal(AR_S, AR_S), npt.NDArray[np.bool])
  22. assert_type(np.char.less_equal(AR_T, AR_T), npt.NDArray[np.bool])
  23. assert_type(np.char.greater(AR_U, AR_U), npt.NDArray[np.bool])
  24. assert_type(np.char.greater(AR_S, AR_S), npt.NDArray[np.bool])
  25. assert_type(np.char.greater(AR_T, AR_T), npt.NDArray[np.bool])
  26. assert_type(np.char.less(AR_U, AR_U), npt.NDArray[np.bool])
  27. assert_type(np.char.less(AR_S, AR_S), npt.NDArray[np.bool])
  28. assert_type(np.char.less(AR_T, AR_T), npt.NDArray[np.bool])
  29. assert_type(np.char.multiply(AR_U, 5), npt.NDArray[np.str_])
  30. assert_type(np.char.multiply(AR_S, [5, 4, 3]), npt.NDArray[np.bytes_])
  31. assert_type(np.char.multiply(AR_T, 5), AR_T_alias)
  32. assert_type(np.char.mod(AR_U, "test"), npt.NDArray[np.str_])
  33. assert_type(np.char.mod(AR_S, "test"), npt.NDArray[np.bytes_])
  34. assert_type(np.char.mod(AR_T, "test"), AR_T_alias)
  35. assert_type(np.char.capitalize(AR_U), npt.NDArray[np.str_])
  36. assert_type(np.char.capitalize(AR_S), npt.NDArray[np.bytes_])
  37. assert_type(np.char.capitalize(AR_T), AR_T_alias)
  38. assert_type(np.char.center(AR_U, 5), npt.NDArray[np.str_])
  39. assert_type(np.char.center(AR_S, [2, 3, 4], b"a"), npt.NDArray[np.bytes_])
  40. assert_type(np.char.center(AR_T, 5), AR_T_alias)
  41. assert_type(np.char.encode(AR_U), npt.NDArray[np.bytes_])
  42. assert_type(np.char.encode(AR_T), npt.NDArray[np.bytes_])
  43. assert_type(np.char.decode(AR_S), npt.NDArray[np.str_])
  44. assert_type(np.char.expandtabs(AR_U), npt.NDArray[np.str_])
  45. assert_type(np.char.expandtabs(AR_S, tabsize=4), npt.NDArray[np.bytes_])
  46. assert_type(np.char.expandtabs(AR_T), AR_T_alias)
  47. assert_type(np.char.join(AR_U, "_"), npt.NDArray[np.str_])
  48. assert_type(np.char.join(AR_S, [b"_", b""]), npt.NDArray[np.bytes_])
  49. assert_type(np.char.join(AR_T, "_"), AR_TU_alias)
  50. assert_type(np.char.ljust(AR_U, 5), npt.NDArray[np.str_])
  51. assert_type(np.char.ljust(AR_S, [4, 3, 1], fillchar=[b"a", b"b", b"c"]), npt.NDArray[np.bytes_])
  52. assert_type(np.char.ljust(AR_T, 5), AR_T_alias)
  53. assert_type(np.char.ljust(AR_T, [4, 2, 1], fillchar=["a", "b", "c"]), AR_TU_alias)
  54. assert_type(np.char.rjust(AR_U, 5), npt.NDArray[np.str_])
  55. assert_type(np.char.rjust(AR_S, [4, 3, 1], fillchar=[b"a", b"b", b"c"]), npt.NDArray[np.bytes_])
  56. assert_type(np.char.rjust(AR_T, 5), AR_T_alias)
  57. assert_type(np.char.rjust(AR_T, [4, 2, 1], fillchar=["a", "b", "c"]), AR_TU_alias)
  58. assert_type(np.char.lstrip(AR_U), npt.NDArray[np.str_])
  59. assert_type(np.char.lstrip(AR_S, b"_"), npt.NDArray[np.bytes_])
  60. assert_type(np.char.lstrip(AR_T), AR_T_alias)
  61. assert_type(np.char.lstrip(AR_T, "_"), AR_TU_alias)
  62. assert_type(np.char.rstrip(AR_U), npt.NDArray[np.str_])
  63. assert_type(np.char.rstrip(AR_S, b"_"), npt.NDArray[np.bytes_])
  64. assert_type(np.char.rstrip(AR_T), AR_T_alias)
  65. assert_type(np.char.rstrip(AR_T, "_"), AR_TU_alias)
  66. assert_type(np.char.strip(AR_U), npt.NDArray[np.str_])
  67. assert_type(np.char.strip(AR_S, b"_"), npt.NDArray[np.bytes_])
  68. assert_type(np.char.strip(AR_T), AR_T_alias)
  69. assert_type(np.char.strip(AR_T, "_"), AR_TU_alias)
  70. assert_type(np.char.count(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
  71. assert_type(np.char.count(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.int_])
  72. assert_type(np.char.count(AR_T, AR_T, start=[1, 2, 3]), npt.NDArray[np.int_])
  73. assert_type(np.char.count(AR_T, ["a", "b", "c"], end=9), npt.NDArray[np.int_])
  74. assert_type(np.char.partition(AR_U, "\n"), npt.NDArray[np.str_])
  75. assert_type(np.char.partition(AR_S, [b"a", b"b", b"c"]), npt.NDArray[np.bytes_])
  76. assert_type(np.char.partition(AR_T, "\n"), AR_TU_alias)
  77. assert_type(np.char.rpartition(AR_U, "\n"), npt.NDArray[np.str_])
  78. assert_type(np.char.rpartition(AR_S, [b"a", b"b", b"c"]), npt.NDArray[np.bytes_])
  79. assert_type(np.char.rpartition(AR_T, "\n"), AR_TU_alias)
  80. assert_type(np.char.replace(AR_U, "_", "-"), npt.NDArray[np.str_])
  81. assert_type(np.char.replace(AR_S, [b"_", b""], [b"a", b"b"]), npt.NDArray[np.bytes_])
  82. assert_type(np.char.replace(AR_T, "_", "_"), AR_TU_alias)
  83. assert_type(np.char.split(AR_U, "_"), npt.NDArray[np.object_])
  84. assert_type(np.char.split(AR_S, maxsplit=[1, 2, 3]), npt.NDArray[np.object_])
  85. assert_type(np.char.split(AR_T, "_"), npt.NDArray[np.object_])
  86. assert_type(np.char.rsplit(AR_U, "_"), npt.NDArray[np.object_])
  87. assert_type(np.char.rsplit(AR_S, maxsplit=[1, 2, 3]), npt.NDArray[np.object_])
  88. assert_type(np.char.rsplit(AR_T, "_"), npt.NDArray[np.object_])
  89. assert_type(np.char.splitlines(AR_U), npt.NDArray[np.object_])
  90. assert_type(np.char.splitlines(AR_S, keepends=[True, True, False]), npt.NDArray[np.object_])
  91. assert_type(np.char.splitlines(AR_T), npt.NDArray[np.object_])
  92. assert_type(np.char.lower(AR_U), npt.NDArray[np.str_])
  93. assert_type(np.char.lower(AR_S), npt.NDArray[np.bytes_])
  94. assert_type(np.char.lower(AR_T), AR_T_alias)
  95. assert_type(np.char.upper(AR_U), npt.NDArray[np.str_])
  96. assert_type(np.char.upper(AR_S), npt.NDArray[np.bytes_])
  97. assert_type(np.char.upper(AR_T), AR_T_alias)
  98. assert_type(np.char.swapcase(AR_U), npt.NDArray[np.str_])
  99. assert_type(np.char.swapcase(AR_S), npt.NDArray[np.bytes_])
  100. assert_type(np.char.swapcase(AR_T), AR_T_alias)
  101. assert_type(np.char.title(AR_U), npt.NDArray[np.str_])
  102. assert_type(np.char.title(AR_S), npt.NDArray[np.bytes_])
  103. assert_type(np.char.title(AR_T), AR_T_alias)
  104. assert_type(np.char.zfill(AR_U, 5), npt.NDArray[np.str_])
  105. assert_type(np.char.zfill(AR_S, [2, 3, 4]), npt.NDArray[np.bytes_])
  106. assert_type(np.char.zfill(AR_T, 5), AR_T_alias)
  107. assert_type(np.char.endswith(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.bool])
  108. assert_type(np.char.endswith(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.bool])
  109. assert_type(np.char.endswith(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.bool])
  110. assert_type(np.char.startswith(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.bool])
  111. assert_type(np.char.startswith(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.bool])
  112. assert_type(np.char.startswith(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.bool])
  113. assert_type(np.char.find(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
  114. assert_type(np.char.find(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.int_])
  115. assert_type(np.char.find(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
  116. assert_type(np.char.rfind(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
  117. assert_type(np.char.rfind(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.int_])
  118. assert_type(np.char.rfind(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
  119. assert_type(np.char.index(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
  120. assert_type(np.char.index(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.int_])
  121. assert_type(np.char.index(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
  122. assert_type(np.char.rindex(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
  123. assert_type(np.char.rindex(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.int_])
  124. assert_type(np.char.rindex(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
  125. assert_type(np.char.isalpha(AR_U), npt.NDArray[np.bool])
  126. assert_type(np.char.isalpha(AR_S), npt.NDArray[np.bool])
  127. assert_type(np.char.isalpha(AR_T), npt.NDArray[np.bool])
  128. assert_type(np.char.isalnum(AR_U), npt.NDArray[np.bool])
  129. assert_type(np.char.isalnum(AR_S), npt.NDArray[np.bool])
  130. assert_type(np.char.isalnum(AR_T), npt.NDArray[np.bool])
  131. assert_type(np.char.isdecimal(AR_U), npt.NDArray[np.bool])
  132. assert_type(np.char.isdecimal(AR_T), npt.NDArray[np.bool])
  133. assert_type(np.char.isdigit(AR_U), npt.NDArray[np.bool])
  134. assert_type(np.char.isdigit(AR_S), npt.NDArray[np.bool])
  135. assert_type(np.char.isdigit(AR_T), npt.NDArray[np.bool])
  136. assert_type(np.char.islower(AR_U), npt.NDArray[np.bool])
  137. assert_type(np.char.islower(AR_S), npt.NDArray[np.bool])
  138. assert_type(np.char.islower(AR_T), npt.NDArray[np.bool])
  139. assert_type(np.char.isnumeric(AR_U), npt.NDArray[np.bool])
  140. assert_type(np.char.isnumeric(AR_T), npt.NDArray[np.bool])
  141. assert_type(np.char.isspace(AR_U), npt.NDArray[np.bool])
  142. assert_type(np.char.isspace(AR_S), npt.NDArray[np.bool])
  143. assert_type(np.char.isspace(AR_T), npt.NDArray[np.bool])
  144. assert_type(np.char.istitle(AR_U), npt.NDArray[np.bool])
  145. assert_type(np.char.istitle(AR_S), npt.NDArray[np.bool])
  146. assert_type(np.char.istitle(AR_T), npt.NDArray[np.bool])
  147. assert_type(np.char.isupper(AR_U), npt.NDArray[np.bool])
  148. assert_type(np.char.isupper(AR_S), npt.NDArray[np.bool])
  149. assert_type(np.char.isupper(AR_T), npt.NDArray[np.bool])
  150. assert_type(np.char.str_len(AR_U), npt.NDArray[np.int_])
  151. assert_type(np.char.str_len(AR_S), npt.NDArray[np.int_])
  152. assert_type(np.char.str_len(AR_T), npt.NDArray[np.int_])
  153. assert_type(np.char.translate(AR_U, ""), npt.NDArray[np.str_])
  154. assert_type(np.char.translate(AR_S, ""), npt.NDArray[np.bytes_])
  155. assert_type(np.char.translate(AR_T, ""), AR_T_alias)
  156. assert_type(np.char.array(AR_U), np.char.chararray[tuple[int, ...], np.dtype[np.str_]])
  157. assert_type(np.char.array(AR_S, order="K"), np.char.chararray[tuple[int, ...], np.dtype[np.bytes_]])
  158. assert_type(np.char.array("bob", copy=True), np.char.chararray[tuple[int, ...], np.dtype[np.str_]])
  159. assert_type(np.char.array(b"bob", itemsize=5), np.char.chararray[tuple[int, ...], np.dtype[np.bytes_]])
  160. assert_type(np.char.array(1, unicode=False), np.char.chararray[tuple[int, ...], np.dtype[np.bytes_]])
  161. assert_type(np.char.array(1, unicode=True), np.char.chararray[tuple[int, ...], np.dtype[np.str_]])
  162. assert_type(np.char.asarray(AR_U), np.char.chararray[tuple[int, ...], np.dtype[np.str_]])
  163. assert_type(np.char.asarray(AR_S, order="K"), np.char.chararray[tuple[int, ...], np.dtype[np.bytes_]])
  164. assert_type(np.char.asarray("bob"), np.char.chararray[tuple[int, ...], np.dtype[np.str_]])
  165. assert_type(np.char.asarray(b"bob", itemsize=5), np.char.chararray[tuple[int, ...], np.dtype[np.bytes_]])
  166. assert_type(np.char.asarray(1, unicode=False), np.char.chararray[tuple[int, ...], np.dtype[np.bytes_]])
  167. assert_type(np.char.asarray(1, unicode=True), np.char.chararray[tuple[int, ...], np.dtype[np.str_]])