multiarray.pyi 24 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021
  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. mask: _ArrayLikeBool_co,
  403. values: ArrayLike,
  404. ) -> None: ...
  405. def packbits(
  406. a: _ArrayLikeInt_co,
  407. /,
  408. axis: None | SupportsIndex = ...,
  409. bitorder: L["big", "little"] = ...,
  410. ) -> NDArray[uint8]: ...
  411. def unpackbits(
  412. a: _ArrayLike[uint8],
  413. /,
  414. axis: None | SupportsIndex = ...,
  415. count: None | SupportsIndex = ...,
  416. bitorder: L["big", "little"] = ...,
  417. ) -> NDArray[uint8]: ...
  418. def shares_memory(
  419. a: object,
  420. b: object,
  421. /,
  422. max_work: None | int = ...,
  423. ) -> bool: ...
  424. def may_share_memory(
  425. a: object,
  426. b: object,
  427. /,
  428. max_work: None | int = ...,
  429. ) -> bool: ...
  430. @overload
  431. def asarray(
  432. a: _ArrayLike[_SCT],
  433. dtype: None = ...,
  434. order: _OrderKACF = ...,
  435. *,
  436. like: None | _SupportsArrayFunc = ...,
  437. ) -> NDArray[_SCT]: ...
  438. @overload
  439. def asarray(
  440. a: object,
  441. dtype: None = ...,
  442. order: _OrderKACF = ...,
  443. *,
  444. like: None | _SupportsArrayFunc = ...,
  445. ) -> NDArray[Any]: ...
  446. @overload
  447. def asarray(
  448. a: Any,
  449. dtype: _DTypeLike[_SCT],
  450. order: _OrderKACF = ...,
  451. *,
  452. like: None | _SupportsArrayFunc = ...,
  453. ) -> NDArray[_SCT]: ...
  454. @overload
  455. def asarray(
  456. a: Any,
  457. dtype: DTypeLike,
  458. order: _OrderKACF = ...,
  459. *,
  460. like: None | _SupportsArrayFunc = ...,
  461. ) -> NDArray[Any]: ...
  462. @overload
  463. def asanyarray(
  464. a: _ArrayType, # Preserve subclass-information
  465. dtype: None = ...,
  466. order: _OrderKACF = ...,
  467. *,
  468. like: None | _SupportsArrayFunc = ...,
  469. ) -> _ArrayType: ...
  470. @overload
  471. def asanyarray(
  472. a: _ArrayLike[_SCT],
  473. dtype: None = ...,
  474. order: _OrderKACF = ...,
  475. *,
  476. like: None | _SupportsArrayFunc = ...,
  477. ) -> NDArray[_SCT]: ...
  478. @overload
  479. def asanyarray(
  480. a: object,
  481. dtype: None = ...,
  482. order: _OrderKACF = ...,
  483. *,
  484. like: None | _SupportsArrayFunc = ...,
  485. ) -> NDArray[Any]: ...
  486. @overload
  487. def asanyarray(
  488. a: Any,
  489. dtype: _DTypeLike[_SCT],
  490. order: _OrderKACF = ...,
  491. *,
  492. like: None | _SupportsArrayFunc = ...,
  493. ) -> NDArray[_SCT]: ...
  494. @overload
  495. def asanyarray(
  496. a: Any,
  497. dtype: DTypeLike,
  498. order: _OrderKACF = ...,
  499. *,
  500. like: None | _SupportsArrayFunc = ...,
  501. ) -> NDArray[Any]: ...
  502. @overload
  503. def ascontiguousarray(
  504. a: _ArrayLike[_SCT],
  505. dtype: None = ...,
  506. *,
  507. like: None | _SupportsArrayFunc = ...,
  508. ) -> NDArray[_SCT]: ...
  509. @overload
  510. def ascontiguousarray(
  511. a: object,
  512. dtype: None = ...,
  513. *,
  514. like: None | _SupportsArrayFunc = ...,
  515. ) -> NDArray[Any]: ...
  516. @overload
  517. def ascontiguousarray(
  518. a: Any,
  519. dtype: _DTypeLike[_SCT],
  520. *,
  521. like: None | _SupportsArrayFunc = ...,
  522. ) -> NDArray[_SCT]: ...
  523. @overload
  524. def ascontiguousarray(
  525. a: Any,
  526. dtype: DTypeLike,
  527. *,
  528. like: None | _SupportsArrayFunc = ...,
  529. ) -> NDArray[Any]: ...
  530. @overload
  531. def asfortranarray(
  532. a: _ArrayLike[_SCT],
  533. dtype: None = ...,
  534. *,
  535. like: None | _SupportsArrayFunc = ...,
  536. ) -> NDArray[_SCT]: ...
  537. @overload
  538. def asfortranarray(
  539. a: object,
  540. dtype: None = ...,
  541. *,
  542. like: None | _SupportsArrayFunc = ...,
  543. ) -> NDArray[Any]: ...
  544. @overload
  545. def asfortranarray(
  546. a: Any,
  547. dtype: _DTypeLike[_SCT],
  548. *,
  549. like: None | _SupportsArrayFunc = ...,
  550. ) -> NDArray[_SCT]: ...
  551. @overload
  552. def asfortranarray(
  553. a: Any,
  554. dtype: DTypeLike,
  555. *,
  556. like: None | _SupportsArrayFunc = ...,
  557. ) -> NDArray[Any]: ...
  558. # In practice `list[Any]` is list with an int, int and a valid
  559. # `np.seterrcall()` object
  560. def geterrobj() -> list[Any]: ...
  561. def seterrobj(errobj: list[Any], /) -> None: ...
  562. def promote_types(__type1: DTypeLike, __type2: DTypeLike) -> dtype[Any]: ...
  563. # `sep` is a de facto mandatory argument, as its default value is deprecated
  564. @overload
  565. def fromstring(
  566. string: str | bytes,
  567. dtype: None = ...,
  568. count: SupportsIndex = ...,
  569. *,
  570. sep: str,
  571. like: None | _SupportsArrayFunc = ...,
  572. ) -> NDArray[float64]: ...
  573. @overload
  574. def fromstring(
  575. string: str | bytes,
  576. dtype: _DTypeLike[_SCT],
  577. count: SupportsIndex = ...,
  578. *,
  579. sep: str,
  580. like: None | _SupportsArrayFunc = ...,
  581. ) -> NDArray[_SCT]: ...
  582. @overload
  583. def fromstring(
  584. string: str | bytes,
  585. dtype: DTypeLike,
  586. count: SupportsIndex = ...,
  587. *,
  588. sep: str,
  589. like: None | _SupportsArrayFunc = ...,
  590. ) -> NDArray[Any]: ...
  591. def frompyfunc(
  592. func: Callable[..., Any], /,
  593. nin: SupportsIndex,
  594. nout: SupportsIndex,
  595. *,
  596. identity: Any = ...,
  597. ) -> ufunc: ...
  598. @overload
  599. def fromfile(
  600. file: str | bytes | os.PathLike[Any] | _IOProtocol,
  601. dtype: None = ...,
  602. count: SupportsIndex = ...,
  603. sep: str = ...,
  604. offset: SupportsIndex = ...,
  605. *,
  606. like: None | _SupportsArrayFunc = ...,
  607. ) -> NDArray[float64]: ...
  608. @overload
  609. def fromfile(
  610. file: str | bytes | os.PathLike[Any] | _IOProtocol,
  611. dtype: _DTypeLike[_SCT],
  612. count: SupportsIndex = ...,
  613. sep: str = ...,
  614. offset: SupportsIndex = ...,
  615. *,
  616. like: None | _SupportsArrayFunc = ...,
  617. ) -> NDArray[_SCT]: ...
  618. @overload
  619. def fromfile(
  620. file: str | bytes | os.PathLike[Any] | _IOProtocol,
  621. dtype: DTypeLike,
  622. count: SupportsIndex = ...,
  623. sep: str = ...,
  624. offset: SupportsIndex = ...,
  625. *,
  626. like: None | _SupportsArrayFunc = ...,
  627. ) -> NDArray[Any]: ...
  628. @overload
  629. def fromiter(
  630. iter: Iterable[Any],
  631. dtype: _DTypeLike[_SCT],
  632. count: SupportsIndex = ...,
  633. *,
  634. like: None | _SupportsArrayFunc = ...,
  635. ) -> NDArray[_SCT]: ...
  636. @overload
  637. def fromiter(
  638. iter: Iterable[Any],
  639. dtype: DTypeLike,
  640. count: SupportsIndex = ...,
  641. *,
  642. like: None | _SupportsArrayFunc = ...,
  643. ) -> NDArray[Any]: ...
  644. @overload
  645. def frombuffer(
  646. buffer: _SupportsBuffer,
  647. dtype: None = ...,
  648. count: SupportsIndex = ...,
  649. offset: SupportsIndex = ...,
  650. *,
  651. like: None | _SupportsArrayFunc = ...,
  652. ) -> NDArray[float64]: ...
  653. @overload
  654. def frombuffer(
  655. buffer: _SupportsBuffer,
  656. dtype: _DTypeLike[_SCT],
  657. count: SupportsIndex = ...,
  658. offset: SupportsIndex = ...,
  659. *,
  660. like: None | _SupportsArrayFunc = ...,
  661. ) -> NDArray[_SCT]: ...
  662. @overload
  663. def frombuffer(
  664. buffer: _SupportsBuffer,
  665. dtype: DTypeLike,
  666. count: SupportsIndex = ...,
  667. offset: SupportsIndex = ...,
  668. *,
  669. like: None | _SupportsArrayFunc = ...,
  670. ) -> NDArray[Any]: ...
  671. @overload
  672. def arange( # type: ignore[misc]
  673. stop: _IntLike_co,
  674. /, *,
  675. dtype: None = ...,
  676. like: None | _SupportsArrayFunc = ...,
  677. ) -> NDArray[signedinteger[Any]]: ...
  678. @overload
  679. def arange( # type: ignore[misc]
  680. start: _IntLike_co,
  681. stop: _IntLike_co,
  682. step: _IntLike_co = ...,
  683. dtype: None = ...,
  684. *,
  685. like: None | _SupportsArrayFunc = ...,
  686. ) -> NDArray[signedinteger[Any]]: ...
  687. @overload
  688. def arange( # type: ignore[misc]
  689. stop: _FloatLike_co,
  690. /, *,
  691. dtype: None = ...,
  692. like: None | _SupportsArrayFunc = ...,
  693. ) -> NDArray[floating[Any]]: ...
  694. @overload
  695. def arange( # type: ignore[misc]
  696. start: _FloatLike_co,
  697. stop: _FloatLike_co,
  698. step: _FloatLike_co = ...,
  699. dtype: None = ...,
  700. *,
  701. like: None | _SupportsArrayFunc = ...,
  702. ) -> NDArray[floating[Any]]: ...
  703. @overload
  704. def arange(
  705. stop: _TD64Like_co,
  706. /, *,
  707. dtype: None = ...,
  708. like: None | _SupportsArrayFunc = ...,
  709. ) -> NDArray[timedelta64]: ...
  710. @overload
  711. def arange(
  712. start: _TD64Like_co,
  713. stop: _TD64Like_co,
  714. step: _TD64Like_co = ...,
  715. dtype: None = ...,
  716. *,
  717. like: None | _SupportsArrayFunc = ...,
  718. ) -> NDArray[timedelta64]: ...
  719. @overload
  720. def arange( # both start and stop must always be specified for datetime64
  721. start: datetime64,
  722. stop: datetime64,
  723. step: datetime64 = ...,
  724. dtype: None = ...,
  725. *,
  726. like: None | _SupportsArrayFunc = ...,
  727. ) -> NDArray[datetime64]: ...
  728. @overload
  729. def arange(
  730. stop: Any,
  731. /, *,
  732. dtype: _DTypeLike[_SCT],
  733. like: None | _SupportsArrayFunc = ...,
  734. ) -> NDArray[_SCT]: ...
  735. @overload
  736. def arange(
  737. start: Any,
  738. stop: Any,
  739. step: Any = ...,
  740. dtype: _DTypeLike[_SCT] = ...,
  741. *,
  742. like: None | _SupportsArrayFunc = ...,
  743. ) -> NDArray[_SCT]: ...
  744. @overload
  745. def arange(
  746. stop: Any, /,
  747. *,
  748. dtype: DTypeLike,
  749. like: None | _SupportsArrayFunc = ...,
  750. ) -> NDArray[Any]: ...
  751. @overload
  752. def arange(
  753. start: Any,
  754. stop: Any,
  755. step: Any = ...,
  756. dtype: DTypeLike = ...,
  757. *,
  758. like: None | _SupportsArrayFunc = ...,
  759. ) -> NDArray[Any]: ...
  760. def datetime_data(
  761. dtype: str | _DTypeLike[datetime64] | _DTypeLike[timedelta64], /,
  762. ) -> tuple[str, int]: ...
  763. # The datetime functions perform unsafe casts to `datetime64[D]`,
  764. # so a lot of different argument types are allowed here
  765. @overload
  766. def busday_count( # type: ignore[misc]
  767. begindates: _ScalarLike_co | dt.date,
  768. enddates: _ScalarLike_co | dt.date,
  769. weekmask: ArrayLike = ...,
  770. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  771. busdaycal: None | busdaycalendar = ...,
  772. out: None = ...,
  773. ) -> int_: ...
  774. @overload
  775. def busday_count( # type: ignore[misc]
  776. begindates: ArrayLike | dt.date | _NestedSequence[dt.date],
  777. enddates: ArrayLike | dt.date | _NestedSequence[dt.date],
  778. weekmask: ArrayLike = ...,
  779. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  780. busdaycal: None | busdaycalendar = ...,
  781. out: None = ...,
  782. ) -> NDArray[int_]: ...
  783. @overload
  784. def busday_count(
  785. begindates: ArrayLike | dt.date | _NestedSequence[dt.date],
  786. enddates: ArrayLike | dt.date | _NestedSequence[dt.date],
  787. weekmask: ArrayLike = ...,
  788. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  789. busdaycal: None | busdaycalendar = ...,
  790. out: _ArrayType = ...,
  791. ) -> _ArrayType: ...
  792. # `roll="raise"` is (more or less?) equivalent to `casting="safe"`
  793. @overload
  794. def busday_offset( # type: ignore[misc]
  795. dates: datetime64 | dt.date,
  796. offsets: _TD64Like_co | dt.timedelta,
  797. roll: L["raise"] = ...,
  798. weekmask: ArrayLike = ...,
  799. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  800. busdaycal: None | busdaycalendar = ...,
  801. out: None = ...,
  802. ) -> datetime64: ...
  803. @overload
  804. def busday_offset( # type: ignore[misc]
  805. dates: _ArrayLike[datetime64] | dt.date | _NestedSequence[dt.date],
  806. offsets: _ArrayLikeTD64_co | dt.timedelta | _NestedSequence[dt.timedelta],
  807. roll: L["raise"] = ...,
  808. weekmask: ArrayLike = ...,
  809. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  810. busdaycal: None | busdaycalendar = ...,
  811. out: None = ...,
  812. ) -> NDArray[datetime64]: ...
  813. @overload
  814. def busday_offset( # type: ignore[misc]
  815. dates: _ArrayLike[datetime64] | dt.date | _NestedSequence[dt.date],
  816. offsets: _ArrayLikeTD64_co | dt.timedelta | _NestedSequence[dt.timedelta],
  817. roll: L["raise"] = ...,
  818. weekmask: ArrayLike = ...,
  819. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  820. busdaycal: None | busdaycalendar = ...,
  821. out: _ArrayType = ...,
  822. ) -> _ArrayType: ...
  823. @overload
  824. def busday_offset( # type: ignore[misc]
  825. dates: _ScalarLike_co | dt.date,
  826. offsets: _ScalarLike_co | dt.timedelta,
  827. roll: _RollKind,
  828. weekmask: ArrayLike = ...,
  829. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  830. busdaycal: None | busdaycalendar = ...,
  831. out: None = ...,
  832. ) -> datetime64: ...
  833. @overload
  834. def busday_offset( # type: ignore[misc]
  835. dates: ArrayLike | dt.date | _NestedSequence[dt.date],
  836. offsets: ArrayLike | dt.timedelta | _NestedSequence[dt.timedelta],
  837. roll: _RollKind,
  838. weekmask: ArrayLike = ...,
  839. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  840. busdaycal: None | busdaycalendar = ...,
  841. out: None = ...,
  842. ) -> NDArray[datetime64]: ...
  843. @overload
  844. def busday_offset(
  845. dates: ArrayLike | dt.date | _NestedSequence[dt.date],
  846. offsets: ArrayLike | dt.timedelta | _NestedSequence[dt.timedelta],
  847. roll: _RollKind,
  848. weekmask: ArrayLike = ...,
  849. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  850. busdaycal: None | busdaycalendar = ...,
  851. out: _ArrayType = ...,
  852. ) -> _ArrayType: ...
  853. @overload
  854. def is_busday( # type: ignore[misc]
  855. dates: _ScalarLike_co | dt.date,
  856. weekmask: ArrayLike = ...,
  857. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  858. busdaycal: None | busdaycalendar = ...,
  859. out: None = ...,
  860. ) -> bool_: ...
  861. @overload
  862. def is_busday( # type: ignore[misc]
  863. dates: ArrayLike | _NestedSequence[dt.date],
  864. weekmask: ArrayLike = ...,
  865. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  866. busdaycal: None | busdaycalendar = ...,
  867. out: None = ...,
  868. ) -> NDArray[bool_]: ...
  869. @overload
  870. def is_busday(
  871. dates: ArrayLike | _NestedSequence[dt.date],
  872. weekmask: ArrayLike = ...,
  873. holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
  874. busdaycal: None | busdaycalendar = ...,
  875. out: _ArrayType = ...,
  876. ) -> _ArrayType: ...
  877. @overload
  878. def datetime_as_string( # type: ignore[misc]
  879. arr: datetime64 | dt.date,
  880. unit: None | L["auto"] | _UnitKind = ...,
  881. timezone: L["naive", "UTC", "local"] | dt.tzinfo = ...,
  882. casting: _CastingKind = ...,
  883. ) -> str_: ...
  884. @overload
  885. def datetime_as_string(
  886. arr: _ArrayLikeDT64_co | _NestedSequence[dt.date],
  887. unit: None | L["auto"] | _UnitKind = ...,
  888. timezone: L["naive", "UTC", "local"] | dt.tzinfo = ...,
  889. casting: _CastingKind = ...,
  890. ) -> NDArray[str_]: ...
  891. @overload
  892. def compare_chararrays(
  893. a1: _ArrayLikeStr_co,
  894. a2: _ArrayLikeStr_co,
  895. cmp: L["<", "<=", "==", ">=", ">", "!="],
  896. rstrip: bool,
  897. ) -> NDArray[bool_]: ...
  898. @overload
  899. def compare_chararrays(
  900. a1: _ArrayLikeBytes_co,
  901. a2: _ArrayLikeBytes_co,
  902. cmp: L["<", "<=", "==", ">=", ">", "!="],
  903. rstrip: bool,
  904. ) -> NDArray[bool_]: ...
  905. def add_docstring(obj: Callable[..., Any], docstring: str, /) -> None: ...
  906. _GetItemKeys = L[
  907. "C", "CONTIGUOUS", "C_CONTIGUOUS",
  908. "F", "FORTRAN", "F_CONTIGUOUS",
  909. "W", "WRITEABLE",
  910. "B", "BEHAVED",
  911. "O", "OWNDATA",
  912. "A", "ALIGNED",
  913. "X", "WRITEBACKIFCOPY",
  914. "CA", "CARRAY",
  915. "FA", "FARRAY",
  916. "FNC",
  917. "FORC",
  918. ]
  919. _SetItemKeys = L[
  920. "A", "ALIGNED",
  921. "W", "WRITEABLE",
  922. "X", "WRITEBACKIFCOPY",
  923. ]
  924. @final
  925. class flagsobj:
  926. __hash__: ClassVar[None] # type: ignore[assignment]
  927. aligned: bool
  928. # NOTE: deprecated
  929. # updateifcopy: bool
  930. writeable: bool
  931. writebackifcopy: bool
  932. @property
  933. def behaved(self) -> bool: ...
  934. @property
  935. def c_contiguous(self) -> bool: ...
  936. @property
  937. def carray(self) -> bool: ...
  938. @property
  939. def contiguous(self) -> bool: ...
  940. @property
  941. def f_contiguous(self) -> bool: ...
  942. @property
  943. def farray(self) -> bool: ...
  944. @property
  945. def fnc(self) -> bool: ...
  946. @property
  947. def forc(self) -> bool: ...
  948. @property
  949. def fortran(self) -> bool: ...
  950. @property
  951. def num(self) -> int: ...
  952. @property
  953. def owndata(self) -> bool: ...
  954. def __getitem__(self, key: _GetItemKeys) -> bool: ...
  955. def __setitem__(self, key: _SetItemKeys, value: bool) -> None: ...
  956. def nested_iters(
  957. op: ArrayLike | Sequence[ArrayLike],
  958. axes: Sequence[Sequence[SupportsIndex]],
  959. flags: None | Sequence[_NDIterFlagsKind] = ...,
  960. op_flags: None | Sequence[Sequence[_NDIterOpFlagsKind]] = ...,
  961. op_dtypes: DTypeLike | Sequence[DTypeLike] = ...,
  962. order: _OrderKACF = ...,
  963. casting: _CastingKind = ...,
  964. buffersize: SupportsIndex = ...,
  965. ) -> tuple[nditer, ...]: ...