multiarray.pyi 24 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022
  1. # TODO: Sort out any and all missing functions in this namespace
  2. import os
  3. import datetime as dt
  4. from collections.abc import Sequence, Callable, Iterable
  5. from typing import (
  6. Literal as L,
  7. Any,
  8. overload,
  9. TypeVar,
  10. SupportsIndex,
  11. final,
  12. Final,
  13. Protocol,
  14. ClassVar,
  15. )
  16. from numpy import (
  17. # Re-exports
  18. busdaycalendar as busdaycalendar,
  19. broadcast as broadcast,
  20. dtype as dtype,
  21. ndarray as ndarray,
  22. nditer as nditer,
  23. # The rest
  24. ufunc,
  25. str_,
  26. bool_,
  27. uint8,
  28. intp,
  29. int_,
  30. float64,
  31. timedelta64,
  32. datetime64,
  33. generic,
  34. unsignedinteger,
  35. signedinteger,
  36. floating,
  37. complexfloating,
  38. _OrderKACF,
  39. _OrderCF,
  40. _CastingKind,
  41. _ModeKind,
  42. _SupportsBuffer,
  43. _IOProtocol,
  44. _CopyMode,
  45. _NDIterFlagsKind,
  46. _NDIterOpFlagsKind,
  47. )
  48. from numpy._typing import (
  49. # Shapes
  50. _ShapeLike,
  51. # DTypes
  52. DTypeLike,
  53. _DTypeLike,
  54. # Arrays
  55. NDArray,
  56. ArrayLike,
  57. _ArrayLike,
  58. _SupportsArrayFunc,
  59. _NestedSequence,
  60. _ArrayLikeBool_co,
  61. _ArrayLikeUInt_co,
  62. _ArrayLikeInt_co,
  63. _ArrayLikeFloat_co,
  64. _ArrayLikeComplex_co,
  65. _ArrayLikeTD64_co,
  66. _ArrayLikeDT64_co,
  67. _ArrayLikeObject_co,
  68. _ArrayLikeStr_co,
  69. _ArrayLikeBytes_co,
  70. _ScalarLike_co,
  71. _IntLike_co,
  72. _FloatLike_co,
  73. _TD64Like_co,
  74. )
  75. _T_co = TypeVar("_T_co", covariant=True)
  76. _T_contra = TypeVar("_T_contra", contravariant=True)
  77. _SCT = TypeVar("_SCT", bound=generic)
  78. _ArrayType = TypeVar("_ArrayType", bound=NDArray[Any])
  79. # Valid time units
  80. _UnitKind = L[
  81. "Y",
  82. "M",
  83. "D",
  84. "h",
  85. "m",
  86. "s",
  87. "ms",
  88. "us", "μs",
  89. "ns",
  90. "ps",
  91. "fs",
  92. "as",
  93. ]
  94. _RollKind = L[ # `raise` is deliberately excluded
  95. "nat",
  96. "forward",
  97. "following",
  98. "backward",
  99. "preceding",
  100. "modifiedfollowing",
  101. "modifiedpreceding",
  102. ]
  103. class _SupportsLenAndGetItem(Protocol[_T_contra, _T_co]):
  104. def __len__(self) -> int: ...
  105. def __getitem__(self, key: _T_contra, /) -> _T_co: ...
  106. __all__: list[str]
  107. ALLOW_THREADS: Final[int] # 0 or 1 (system-specific)
  108. BUFSIZE: L[8192]
  109. CLIP: L[0]
  110. WRAP: L[1]
  111. RAISE: L[2]
  112. MAXDIMS: L[32]
  113. MAY_SHARE_BOUNDS: L[0]
  114. MAY_SHARE_EXACT: L[-1]
  115. tracemalloc_domain: L[389047]
  116. @overload
  117. def empty_like(
  118. prototype: _ArrayType,
  119. dtype: None = ...,
  120. order: _OrderKACF = ...,
  121. subok: bool = ...,
  122. shape: None | _ShapeLike = ...,
  123. ) -> _ArrayType: ...
  124. @overload
  125. def empty_like(
  126. prototype: _ArrayLike[_SCT],
  127. dtype: None = ...,
  128. order: _OrderKACF = ...,
  129. subok: bool = ...,
  130. shape: None | _ShapeLike = ...,
  131. ) -> NDArray[_SCT]: ...
  132. @overload
  133. def empty_like(
  134. prototype: object,
  135. dtype: None = ...,
  136. order: _OrderKACF = ...,
  137. subok: bool = ...,
  138. shape: None | _ShapeLike = ...,
  139. ) -> NDArray[Any]: ...
  140. @overload
  141. def empty_like(
  142. prototype: Any,
  143. dtype: _DTypeLike[_SCT],
  144. order: _OrderKACF = ...,
  145. subok: bool = ...,
  146. shape: None | _ShapeLike = ...,
  147. ) -> NDArray[_SCT]: ...
  148. @overload
  149. def empty_like(
  150. prototype: Any,
  151. dtype: DTypeLike,
  152. order: _OrderKACF = ...,
  153. subok: bool = ...,
  154. shape: None | _ShapeLike = ...,
  155. ) -> NDArray[Any]: ...
  156. @overload
  157. def array(
  158. object: _ArrayType,
  159. dtype: None = ...,
  160. *,
  161. copy: bool | _CopyMode = ...,
  162. order: _OrderKACF = ...,
  163. subok: L[True],
  164. ndmin: int = ...,
  165. like: None | _SupportsArrayFunc = ...,
  166. ) -> _ArrayType: ...
  167. @overload
  168. def array(
  169. object: _ArrayLike[_SCT],
  170. dtype: None = ...,
  171. *,
  172. copy: bool | _CopyMode = ...,
  173. order: _OrderKACF = ...,
  174. subok: bool = ...,
  175. ndmin: int = ...,
  176. like: None | _SupportsArrayFunc = ...,
  177. ) -> NDArray[_SCT]: ...
  178. @overload
  179. def array(
  180. object: object,
  181. dtype: None = ...,
  182. *,
  183. copy: bool | _CopyMode = ...,
  184. order: _OrderKACF = ...,
  185. subok: bool = ...,
  186. ndmin: int = ...,
  187. like: None | _SupportsArrayFunc = ...,
  188. ) -> NDArray[Any]: ...
  189. @overload
  190. def array(
  191. object: Any,
  192. dtype: _DTypeLike[_SCT],
  193. *,
  194. copy: bool | _CopyMode = ...,
  195. order: _OrderKACF = ...,
  196. subok: bool = ...,
  197. ndmin: int = ...,
  198. like: None | _SupportsArrayFunc = ...,
  199. ) -> NDArray[_SCT]: ...
  200. @overload
  201. def array(
  202. object: Any,
  203. dtype: DTypeLike,
  204. *,
  205. copy: bool | _CopyMode = ...,
  206. order: _OrderKACF = ...,
  207. subok: bool = ...,
  208. ndmin: int = ...,
  209. like: None | _SupportsArrayFunc = ...,
  210. ) -> NDArray[Any]: ...
  211. @overload
  212. def zeros(
  213. shape: _ShapeLike,
  214. dtype: None = ...,
  215. order: _OrderCF = ...,
  216. *,
  217. like: None | _SupportsArrayFunc = ...,
  218. ) -> NDArray[float64]: ...
  219. @overload
  220. def zeros(
  221. shape: _ShapeLike,
  222. dtype: _DTypeLike[_SCT],
  223. order: _OrderCF = ...,
  224. *,
  225. like: None | _SupportsArrayFunc = ...,
  226. ) -> NDArray[_SCT]: ...
  227. @overload
  228. def zeros(
  229. shape: _ShapeLike,
  230. dtype: DTypeLike,
  231. order: _OrderCF = ...,
  232. *,
  233. like: None | _SupportsArrayFunc = ...,
  234. ) -> NDArray[Any]: ...
  235. @overload
  236. def empty(
  237. shape: _ShapeLike,
  238. dtype: None = ...,
  239. order: _OrderCF = ...,
  240. *,
  241. like: None | _SupportsArrayFunc = ...,
  242. ) -> NDArray[float64]: ...
  243. @overload
  244. def empty(
  245. shape: _ShapeLike,
  246. dtype: _DTypeLike[_SCT],
  247. order: _OrderCF = ...,
  248. *,
  249. like: None | _SupportsArrayFunc = ...,
  250. ) -> NDArray[_SCT]: ...
  251. @overload
  252. def empty(
  253. shape: _ShapeLike,
  254. dtype: DTypeLike,
  255. order: _OrderCF = ...,
  256. *,
  257. like: None | _SupportsArrayFunc = ...,
  258. ) -> NDArray[Any]: ...
  259. @overload
  260. def unravel_index( # type: ignore[misc]
  261. indices: _IntLike_co,
  262. shape: _ShapeLike,
  263. order: _OrderCF = ...,
  264. ) -> tuple[intp, ...]: ...
  265. @overload
  266. def unravel_index(
  267. indices: _ArrayLikeInt_co,
  268. shape: _ShapeLike,
  269. order: _OrderCF = ...,
  270. ) -> tuple[NDArray[intp], ...]: ...
  271. @overload
  272. def ravel_multi_index( # type: ignore[misc]
  273. multi_index: Sequence[_IntLike_co],
  274. dims: Sequence[SupportsIndex],
  275. mode: _ModeKind | tuple[_ModeKind, ...] = ...,
  276. order: _OrderCF = ...,
  277. ) -> intp: ...
  278. @overload
  279. def ravel_multi_index(
  280. multi_index: Sequence[_ArrayLikeInt_co],
  281. dims: Sequence[SupportsIndex],
  282. mode: _ModeKind | tuple[_ModeKind, ...] = ...,
  283. order: _OrderCF = ...,
  284. ) -> NDArray[intp]: ...
  285. # NOTE: Allow any sequence of array-like objects
  286. @overload
  287. def concatenate( # type: ignore[misc]
  288. arrays: _ArrayLike[_SCT],
  289. /,
  290. axis: None | SupportsIndex = ...,
  291. out: None = ...,
  292. *,
  293. dtype: None = ...,
  294. casting: None | _CastingKind = ...
  295. ) -> NDArray[_SCT]: ...
  296. @overload
  297. def concatenate( # type: ignore[misc]
  298. arrays: _SupportsLenAndGetItem[int, ArrayLike],
  299. /,
  300. axis: None | SupportsIndex = ...,
  301. out: None = ...,
  302. *,
  303. dtype: None = ...,
  304. casting: None | _CastingKind = ...
  305. ) -> NDArray[Any]: ...
  306. @overload
  307. def concatenate( # type: ignore[misc]
  308. arrays: _SupportsLenAndGetItem[int, ArrayLike],
  309. /,
  310. axis: None | SupportsIndex = ...,
  311. out: None = ...,
  312. *,
  313. dtype: _DTypeLike[_SCT],
  314. casting: None | _CastingKind = ...
  315. ) -> NDArray[_SCT]: ...
  316. @overload
  317. def concatenate( # type: ignore[misc]
  318. arrays: _SupportsLenAndGetItem[int, ArrayLike],
  319. /,
  320. axis: None | SupportsIndex = ...,
  321. out: None = ...,
  322. *,
  323. dtype: DTypeLike,
  324. casting: None | _CastingKind = ...
  325. ) -> NDArray[Any]: ...
  326. @overload
  327. def concatenate(
  328. arrays: _SupportsLenAndGetItem[int, ArrayLike],
  329. /,
  330. axis: None | SupportsIndex = ...,
  331. out: _ArrayType = ...,
  332. *,
  333. dtype: DTypeLike = ...,
  334. casting: None | _CastingKind = ...
  335. ) -> _ArrayType: ...
  336. def inner(
  337. a: ArrayLike,
  338. b: ArrayLike,
  339. /,
  340. ) -> Any: ...
  341. @overload
  342. def where(
  343. condition: ArrayLike,
  344. /,
  345. ) -> tuple[NDArray[intp], ...]: ...
  346. @overload
  347. def where(
  348. condition: ArrayLike,
  349. x: ArrayLike,
  350. y: ArrayLike,
  351. /,
  352. ) -> NDArray[Any]: ...
  353. def lexsort(
  354. keys: ArrayLike,
  355. axis: None | SupportsIndex = ...,
  356. ) -> Any: ...
  357. def can_cast(
  358. from_: ArrayLike | DTypeLike,
  359. to: DTypeLike,
  360. casting: None | _CastingKind = ...,
  361. ) -> bool: ...
  362. def min_scalar_type(
  363. a: ArrayLike, /,
  364. ) -> dtype[Any]: ...
  365. def result_type(
  366. *arrays_and_dtypes: ArrayLike | DTypeLike,
  367. ) -> dtype[Any]: ...
  368. @overload
  369. def dot(a: ArrayLike, b: ArrayLike, out: None = ...) -> Any: ...
  370. @overload
  371. def dot(a: ArrayLike, b: ArrayLike, out: _ArrayType) -> _ArrayType: ...
  372. @overload
  373. def vdot(a: _ArrayLikeBool_co, b: _ArrayLikeBool_co, /) -> bool_: ... # type: ignore[misc]
  374. @overload
  375. def vdot(a: _ArrayLikeUInt_co, b: _ArrayLikeUInt_co, /) -> unsignedinteger[Any]: ... # type: ignore[misc]
  376. @overload
  377. def vdot(a: _ArrayLikeInt_co, b: _ArrayLikeInt_co, /) -> signedinteger[Any]: ... # type: ignore[misc]
  378. @overload
  379. def vdot(a: _ArrayLikeFloat_co, b: _ArrayLikeFloat_co, /) -> floating[Any]: ... # type: ignore[misc]
  380. @overload
  381. def vdot(a: _ArrayLikeComplex_co, b: _ArrayLikeComplex_co, /) -> complexfloating[Any, Any]: ... # type: ignore[misc]
  382. @overload
  383. def vdot(a: _ArrayLikeTD64_co, b: _ArrayLikeTD64_co, /) -> timedelta64: ...
  384. @overload
  385. def vdot(a: _ArrayLikeObject_co, b: Any, /) -> Any: ...
  386. @overload
  387. def vdot(a: Any, b: _ArrayLikeObject_co, /) -> Any: ...
  388. def bincount(
  389. x: ArrayLike,
  390. /,
  391. weights: None | ArrayLike = ...,
  392. minlength: SupportsIndex = ...,
  393. ) -> NDArray[intp]: ...
  394. def copyto(
  395. dst: NDArray[Any],
  396. src: ArrayLike,
  397. casting: None | _CastingKind = ...,
  398. where: None | _ArrayLikeBool_co = ...,
  399. ) -> None: ...
  400. def putmask(
  401. a: NDArray[Any],
  402. /,
  403. mask: _ArrayLikeBool_co,
  404. values: ArrayLike,
  405. ) -> None: ...
  406. def packbits(
  407. a: _ArrayLikeInt_co,
  408. /,
  409. axis: None | SupportsIndex = ...,
  410. bitorder: L["big", "little"] = ...,
  411. ) -> NDArray[uint8]: ...
  412. def unpackbits(
  413. a: _ArrayLike[uint8],
  414. /,
  415. axis: None | SupportsIndex = ...,
  416. count: None | SupportsIndex = ...,
  417. bitorder: L["big", "little"] = ...,
  418. ) -> NDArray[uint8]: ...
  419. def shares_memory(
  420. a: object,
  421. b: object,
  422. /,
  423. max_work: None | int = ...,
  424. ) -> bool: ...
  425. def may_share_memory(
  426. a: object,
  427. b: object,
  428. /,
  429. max_work: None | int = ...,
  430. ) -> bool: ...
  431. @overload
  432. def asarray(
  433. a: _ArrayLike[_SCT],
  434. dtype: None = ...,
  435. order: _OrderKACF = ...,
  436. *,
  437. like: None | _SupportsArrayFunc = ...,
  438. ) -> NDArray[_SCT]: ...
  439. @overload
  440. def asarray(
  441. a: object,
  442. dtype: None = ...,
  443. order: _OrderKACF = ...,
  444. *,
  445. like: None | _SupportsArrayFunc = ...,
  446. ) -> NDArray[Any]: ...
  447. @overload
  448. def asarray(
  449. a: Any,
  450. dtype: _DTypeLike[_SCT],
  451. order: _OrderKACF = ...,
  452. *,
  453. like: None | _SupportsArrayFunc = ...,
  454. ) -> NDArray[_SCT]: ...
  455. @overload
  456. def asarray(
  457. a: Any,
  458. dtype: DTypeLike,
  459. order: _OrderKACF = ...,
  460. *,
  461. like: None | _SupportsArrayFunc = ...,
  462. ) -> NDArray[Any]: ...
  463. @overload
  464. def asanyarray(
  465. a: _ArrayType, # Preserve subclass-information
  466. dtype: None = ...,
  467. order: _OrderKACF = ...,
  468. *,
  469. like: None | _SupportsArrayFunc = ...,
  470. ) -> _ArrayType: ...
  471. @overload
  472. def asanyarray(
  473. a: _ArrayLike[_SCT],
  474. dtype: None = ...,
  475. order: _OrderKACF = ...,
  476. *,
  477. like: None | _SupportsArrayFunc = ...,
  478. ) -> NDArray[_SCT]: ...
  479. @overload
  480. def asanyarray(
  481. a: object,
  482. dtype: None = ...,
  483. order: _OrderKACF = ...,
  484. *,
  485. like: None | _SupportsArrayFunc = ...,
  486. ) -> NDArray[Any]: ...
  487. @overload
  488. def asanyarray(
  489. a: Any,
  490. dtype: _DTypeLike[_SCT],
  491. order: _OrderKACF = ...,
  492. *,
  493. like: None | _SupportsArrayFunc = ...,
  494. ) -> NDArray[_SCT]: ...
  495. @overload
  496. def asanyarray(
  497. a: Any,
  498. dtype: DTypeLike,
  499. order: _OrderKACF = ...,
  500. *,
  501. like: None | _SupportsArrayFunc = ...,
  502. ) -> NDArray[Any]: ...
  503. @overload
  504. def ascontiguousarray(
  505. a: _ArrayLike[_SCT],
  506. dtype: None = ...,
  507. *,
  508. like: None | _SupportsArrayFunc = ...,
  509. ) -> NDArray[_SCT]: ...
  510. @overload
  511. def ascontiguousarray(
  512. a: object,
  513. dtype: None = ...,
  514. *,
  515. like: None | _SupportsArrayFunc = ...,
  516. ) -> NDArray[Any]: ...
  517. @overload
  518. def ascontiguousarray(
  519. a: Any,
  520. dtype: _DTypeLike[_SCT],
  521. *,
  522. like: None | _SupportsArrayFunc = ...,
  523. ) -> NDArray[_SCT]: ...
  524. @overload
  525. def ascontiguousarray(
  526. a: Any,
  527. dtype: DTypeLike,
  528. *,
  529. like: None | _SupportsArrayFunc = ...,
  530. ) -> NDArray[Any]: ...
  531. @overload
  532. def asfortranarray(
  533. a: _ArrayLike[_SCT],
  534. dtype: None = ...,
  535. *,
  536. like: None | _SupportsArrayFunc = ...,
  537. ) -> NDArray[_SCT]: ...
  538. @overload
  539. def asfortranarray(
  540. a: object,
  541. dtype: None = ...,
  542. *,
  543. like: None | _SupportsArrayFunc = ...,
  544. ) -> NDArray[Any]: ...
  545. @overload
  546. def asfortranarray(
  547. a: Any,
  548. dtype: _DTypeLike[_SCT],
  549. *,
  550. like: None | _SupportsArrayFunc = ...,
  551. ) -> NDArray[_SCT]: ...
  552. @overload
  553. def asfortranarray(
  554. a: Any,
  555. dtype: DTypeLike,
  556. *,
  557. like: None | _SupportsArrayFunc = ...,
  558. ) -> NDArray[Any]: ...
  559. # In practice `list[Any]` is list with an int, int and a valid
  560. # `np.seterrcall()` object
  561. def geterrobj() -> list[Any]: ...
  562. def seterrobj(errobj: list[Any], /) -> None: ...
  563. def promote_types(__type1: DTypeLike, __type2: DTypeLike) -> dtype[Any]: ...
  564. # `sep` is a de facto mandatory argument, as its default value is deprecated
  565. @overload
  566. def fromstring(
  567. string: str | bytes,
  568. dtype: None = ...,
  569. count: SupportsIndex = ...,
  570. *,
  571. sep: str,
  572. like: None | _SupportsArrayFunc = ...,
  573. ) -> NDArray[float64]: ...
  574. @overload
  575. def fromstring(
  576. string: str | bytes,
  577. dtype: _DTypeLike[_SCT],
  578. count: SupportsIndex = ...,
  579. *,
  580. sep: str,
  581. like: None | _SupportsArrayFunc = ...,
  582. ) -> NDArray[_SCT]: ...
  583. @overload
  584. def fromstring(
  585. string: str | bytes,
  586. dtype: DTypeLike,
  587. count: SupportsIndex = ...,
  588. *,
  589. sep: str,
  590. like: None | _SupportsArrayFunc = ...,
  591. ) -> NDArray[Any]: ...
  592. def frompyfunc(
  593. func: Callable[..., Any], /,
  594. nin: SupportsIndex,
  595. nout: SupportsIndex,
  596. *,
  597. identity: Any = ...,
  598. ) -> ufunc: ...
  599. @overload
  600. def fromfile(
  601. file: str | bytes | os.PathLike[Any] | _IOProtocol,
  602. dtype: None = ...,
  603. count: SupportsIndex = ...,
  604. sep: str = ...,
  605. offset: SupportsIndex = ...,
  606. *,
  607. like: None | _SupportsArrayFunc = ...,
  608. ) -> NDArray[float64]: ...
  609. @overload
  610. def fromfile(
  611. file: str | bytes | os.PathLike[Any] | _IOProtocol,
  612. dtype: _DTypeLike[_SCT],
  613. count: SupportsIndex = ...,
  614. sep: str = ...,
  615. offset: SupportsIndex = ...,
  616. *,
  617. like: None | _SupportsArrayFunc = ...,
  618. ) -> NDArray[_SCT]: ...
  619. @overload
  620. def fromfile(
  621. file: str | bytes | os.PathLike[Any] | _IOProtocol,
  622. dtype: DTypeLike,
  623. count: SupportsIndex = ...,
  624. sep: str = ...,
  625. offset: SupportsIndex = ...,
  626. *,
  627. like: None | _SupportsArrayFunc = ...,
  628. ) -> NDArray[Any]: ...
  629. @overload
  630. def fromiter(
  631. iter: Iterable[Any],
  632. dtype: _DTypeLike[_SCT],
  633. count: SupportsIndex = ...,
  634. *,
  635. like: None | _SupportsArrayFunc = ...,
  636. ) -> NDArray[_SCT]: ...
  637. @overload
  638. def fromiter(
  639. iter: Iterable[Any],
  640. dtype: DTypeLike,
  641. count: SupportsIndex = ...,
  642. *,
  643. like: None | _SupportsArrayFunc = ...,
  644. ) -> NDArray[Any]: ...
  645. @overload
  646. def frombuffer(
  647. buffer: _SupportsBuffer,
  648. dtype: None = ...,
  649. count: SupportsIndex = ...,
  650. offset: SupportsIndex = ...,
  651. *,
  652. like: None | _SupportsArrayFunc = ...,
  653. ) -> NDArray[float64]: ...
  654. @overload
  655. def frombuffer(
  656. buffer: _SupportsBuffer,
  657. dtype: _DTypeLike[_SCT],
  658. count: SupportsIndex = ...,
  659. offset: SupportsIndex = ...,
  660. *,
  661. like: None | _SupportsArrayFunc = ...,
  662. ) -> NDArray[_SCT]: ...
  663. @overload
  664. def frombuffer(
  665. buffer: _SupportsBuffer,
  666. dtype: DTypeLike,
  667. count: SupportsIndex = ...,
  668. offset: SupportsIndex = ...,
  669. *,
  670. like: None | _SupportsArrayFunc = ...,
  671. ) -> NDArray[Any]: ...
  672. @overload
  673. def arange( # type: ignore[misc]
  674. stop: _IntLike_co,
  675. /, *,
  676. dtype: None = ...,
  677. like: None | _SupportsArrayFunc = ...,
  678. ) -> NDArray[signedinteger[Any]]: ...
  679. @overload
  680. def arange( # type: ignore[misc]
  681. start: _IntLike_co,
  682. stop: _IntLike_co,
  683. step: _IntLike_co = ...,
  684. dtype: None = ...,
  685. *,
  686. like: None | _SupportsArrayFunc = ...,
  687. ) -> NDArray[signedinteger[Any]]: ...
  688. @overload
  689. def arange( # type: ignore[misc]
  690. stop: _FloatLike_co,
  691. /, *,
  692. dtype: None = ...,
  693. like: None | _SupportsArrayFunc = ...,
  694. ) -> NDArray[floating[Any]]: ...
  695. @overload
  696. def arange( # type: ignore[misc]
  697. start: _FloatLike_co,
  698. stop: _FloatLike_co,
  699. step: _FloatLike_co = ...,
  700. dtype: None = ...,
  701. *,
  702. like: None | _SupportsArrayFunc = ...,
  703. ) -> NDArray[floating[Any]]: ...
  704. @overload
  705. def arange(
  706. stop: _TD64Like_co,
  707. /, *,
  708. dtype: None = ...,
  709. like: None | _SupportsArrayFunc = ...,
  710. ) -> NDArray[timedelta64]: ...
  711. @overload
  712. def arange(
  713. start: _TD64Like_co,
  714. stop: _TD64Like_co,
  715. step: _TD64Like_co = ...,
  716. dtype: None = ...,
  717. *,
  718. like: None | _SupportsArrayFunc = ...,
  719. ) -> NDArray[timedelta64]: ...
  720. @overload
  721. def arange( # both start and stop must always be specified for datetime64
  722. start: datetime64,
  723. stop: datetime64,
  724. step: datetime64 = ...,
  725. dtype: None = ...,
  726. *,
  727. like: None | _SupportsArrayFunc = ...,
  728. ) -> NDArray[datetime64]: ...
  729. @overload
  730. def arange(
  731. stop: Any,
  732. /, *,
  733. dtype: _DTypeLike[_SCT],
  734. like: None | _SupportsArrayFunc = ...,
  735. ) -> NDArray[_SCT]: ...
  736. @overload
  737. def arange(
  738. start: Any,
  739. stop: Any,
  740. step: Any = ...,
  741. dtype: _DTypeLike[_SCT] = ...,
  742. *,
  743. like: None | _SupportsArrayFunc = ...,
  744. ) -> NDArray[_SCT]: ...
  745. @overload
  746. def arange(
  747. stop: Any, /,
  748. *,
  749. dtype: DTypeLike,
  750. like: None | _SupportsArrayFunc = ...,
  751. ) -> NDArray[Any]: ...
  752. @overload
  753. def arange(
  754. start: Any,
  755. stop: Any,
  756. step: Any = ...,
  757. dtype: DTypeLike = ...,
  758. *,
  759. like: None | _SupportsArrayFunc = ...,
  760. ) -> NDArray[Any]: ...
  761. def datetime_data(
  762. dtype: str | _DTypeLike[datetime64] | _DTypeLike[timedelta64], /,
  763. ) -> tuple[str, int]: ...
  764. # The datetime functions perform unsafe casts to `datetime64[D]`,
  765. # so a lot of different argument types are allowed here
  766. @overload
  767. def busday_count( # type: ignore[misc]
  768. begindates: _ScalarLike_co | dt.date,
  769. enddates: _ScalarLike_co | dt.date,
  770. weekmask: ArrayLike = ...,
  771. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  772. busdaycal: None | busdaycalendar = ...,
  773. out: None = ...,
  774. ) -> int_: ...
  775. @overload
  776. def busday_count( # type: ignore[misc]
  777. begindates: ArrayLike | dt.date | _NestedSequence[dt.date],
  778. enddates: ArrayLike | dt.date | _NestedSequence[dt.date],
  779. weekmask: ArrayLike = ...,
  780. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  781. busdaycal: None | busdaycalendar = ...,
  782. out: None = ...,
  783. ) -> NDArray[int_]: ...
  784. @overload
  785. def busday_count(
  786. begindates: ArrayLike | dt.date | _NestedSequence[dt.date],
  787. enddates: ArrayLike | dt.date | _NestedSequence[dt.date],
  788. weekmask: ArrayLike = ...,
  789. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  790. busdaycal: None | busdaycalendar = ...,
  791. out: _ArrayType = ...,
  792. ) -> _ArrayType: ...
  793. # `roll="raise"` is (more or less?) equivalent to `casting="safe"`
  794. @overload
  795. def busday_offset( # type: ignore[misc]
  796. dates: datetime64 | dt.date,
  797. offsets: _TD64Like_co | dt.timedelta,
  798. roll: L["raise"] = ...,
  799. weekmask: ArrayLike = ...,
  800. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  801. busdaycal: None | busdaycalendar = ...,
  802. out: None = ...,
  803. ) -> datetime64: ...
  804. @overload
  805. def busday_offset( # type: ignore[misc]
  806. dates: _ArrayLike[datetime64] | dt.date | _NestedSequence[dt.date],
  807. offsets: _ArrayLikeTD64_co | dt.timedelta | _NestedSequence[dt.timedelta],
  808. roll: L["raise"] = ...,
  809. weekmask: ArrayLike = ...,
  810. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  811. busdaycal: None | busdaycalendar = ...,
  812. out: None = ...,
  813. ) -> NDArray[datetime64]: ...
  814. @overload
  815. def busday_offset( # type: ignore[misc]
  816. dates: _ArrayLike[datetime64] | dt.date | _NestedSequence[dt.date],
  817. offsets: _ArrayLikeTD64_co | dt.timedelta | _NestedSequence[dt.timedelta],
  818. roll: L["raise"] = ...,
  819. weekmask: ArrayLike = ...,
  820. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  821. busdaycal: None | busdaycalendar = ...,
  822. out: _ArrayType = ...,
  823. ) -> _ArrayType: ...
  824. @overload
  825. def busday_offset( # type: ignore[misc]
  826. dates: _ScalarLike_co | dt.date,
  827. offsets: _ScalarLike_co | dt.timedelta,
  828. roll: _RollKind,
  829. weekmask: ArrayLike = ...,
  830. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  831. busdaycal: None | busdaycalendar = ...,
  832. out: None = ...,
  833. ) -> datetime64: ...
  834. @overload
  835. def busday_offset( # type: ignore[misc]
  836. dates: ArrayLike | dt.date | _NestedSequence[dt.date],
  837. offsets: ArrayLike | dt.timedelta | _NestedSequence[dt.timedelta],
  838. roll: _RollKind,
  839. weekmask: ArrayLike = ...,
  840. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  841. busdaycal: None | busdaycalendar = ...,
  842. out: None = ...,
  843. ) -> NDArray[datetime64]: ...
  844. @overload
  845. def busday_offset(
  846. dates: ArrayLike | dt.date | _NestedSequence[dt.date],
  847. offsets: ArrayLike | dt.timedelta | _NestedSequence[dt.timedelta],
  848. roll: _RollKind,
  849. weekmask: ArrayLike = ...,
  850. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  851. busdaycal: None | busdaycalendar = ...,
  852. out: _ArrayType = ...,
  853. ) -> _ArrayType: ...
  854. @overload
  855. def is_busday( # type: ignore[misc]
  856. dates: _ScalarLike_co | dt.date,
  857. weekmask: ArrayLike = ...,
  858. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  859. busdaycal: None | busdaycalendar = ...,
  860. out: None = ...,
  861. ) -> bool_: ...
  862. @overload
  863. def is_busday( # type: ignore[misc]
  864. dates: ArrayLike | _NestedSequence[dt.date],
  865. weekmask: ArrayLike = ...,
  866. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  867. busdaycal: None | busdaycalendar = ...,
  868. out: None = ...,
  869. ) -> NDArray[bool_]: ...
  870. @overload
  871. def is_busday(
  872. dates: ArrayLike | _NestedSequence[dt.date],
  873. weekmask: ArrayLike = ...,
  874. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  875. busdaycal: None | busdaycalendar = ...,
  876. out: _ArrayType = ...,
  877. ) -> _ArrayType: ...
  878. @overload
  879. def datetime_as_string( # type: ignore[misc]
  880. arr: datetime64 | dt.date,
  881. unit: None | L["auto"] | _UnitKind = ...,
  882. timezone: L["naive", "UTC", "local"] | dt.tzinfo = ...,
  883. casting: _CastingKind = ...,
  884. ) -> str_: ...
  885. @overload
  886. def datetime_as_string(
  887. arr: _ArrayLikeDT64_co | _NestedSequence[dt.date],
  888. unit: None | L["auto"] | _UnitKind = ...,
  889. timezone: L["naive", "UTC", "local"] | dt.tzinfo = ...,
  890. casting: _CastingKind = ...,
  891. ) -> NDArray[str_]: ...
  892. @overload
  893. def compare_chararrays(
  894. a1: _ArrayLikeStr_co,
  895. a2: _ArrayLikeStr_co,
  896. cmp: L["<", "<=", "==", ">=", ">", "!="],
  897. rstrip: bool,
  898. ) -> NDArray[bool_]: ...
  899. @overload
  900. def compare_chararrays(
  901. a1: _ArrayLikeBytes_co,
  902. a2: _ArrayLikeBytes_co,
  903. cmp: L["<", "<=", "==", ">=", ">", "!="],
  904. rstrip: bool,
  905. ) -> NDArray[bool_]: ...
  906. def add_docstring(obj: Callable[..., Any], docstring: str, /) -> None: ...
  907. _GetItemKeys = L[
  908. "C", "CONTIGUOUS", "C_CONTIGUOUS",
  909. "F", "FORTRAN", "F_CONTIGUOUS",
  910. "W", "WRITEABLE",
  911. "B", "BEHAVED",
  912. "O", "OWNDATA",
  913. "A", "ALIGNED",
  914. "X", "WRITEBACKIFCOPY",
  915. "CA", "CARRAY",
  916. "FA", "FARRAY",
  917. "FNC",
  918. "FORC",
  919. ]
  920. _SetItemKeys = L[
  921. "A", "ALIGNED",
  922. "W", "WRITEABLE",
  923. "X", "WRITEBACKIFCOPY",
  924. ]
  925. @final
  926. class flagsobj:
  927. __hash__: ClassVar[None] # type: ignore[assignment]
  928. aligned: bool
  929. # NOTE: deprecated
  930. # updateifcopy: bool
  931. writeable: bool
  932. writebackifcopy: bool
  933. @property
  934. def behaved(self) -> bool: ...
  935. @property
  936. def c_contiguous(self) -> bool: ...
  937. @property
  938. def carray(self) -> bool: ...
  939. @property
  940. def contiguous(self) -> bool: ...
  941. @property
  942. def f_contiguous(self) -> bool: ...
  943. @property
  944. def farray(self) -> bool: ...
  945. @property
  946. def fnc(self) -> bool: ...
  947. @property
  948. def forc(self) -> bool: ...
  949. @property
  950. def fortran(self) -> bool: ...
  951. @property
  952. def num(self) -> int: ...
  953. @property
  954. def owndata(self) -> bool: ...
  955. def __getitem__(self, key: _GetItemKeys) -> bool: ...
  956. def __setitem__(self, key: _SetItemKeys, value: bool) -> None: ...
  957. def nested_iters(
  958. op: ArrayLike | Sequence[ArrayLike],
  959. axes: Sequence[Sequence[SupportsIndex]],
  960. flags: None | Sequence[_NDIterFlagsKind] = ...,
  961. op_flags: None | Sequence[Sequence[_NDIterOpFlagsKind]] = ...,
  962. op_dtypes: DTypeLike | Sequence[DTypeLike] = ...,
  963. order: _OrderKACF = ...,
  964. casting: _CastingKind = ...,
  965. buffersize: SupportsIndex = ...,
  966. ) -> tuple[nditer, ...]: ...