_format_impl.pyi 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import os
  2. from _typeshed import SupportsRead, SupportsWrite
  3. from typing import Any, BinaryIO, Final, TypeAlias, TypeGuard
  4. import numpy as np
  5. import numpy.typing as npt
  6. from numpy.lib._utils_impl import drop_metadata as drop_metadata
  7. __all__: list[str] = []
  8. _DTypeDescr: TypeAlias = list[tuple[str, str]] | list[tuple[str, str, tuple[int, ...]]]
  9. ###
  10. EXPECTED_KEYS: Final[set[str]] = ...
  11. MAGIC_PREFIX: Final = b"\x93NUMPY"
  12. MAGIC_LEN: Final = 8
  13. ARRAY_ALIGN: Final = 64
  14. BUFFER_SIZE: Final = 262_144 # 1 << 18
  15. GROWTH_AXIS_MAX_DIGITS: Final = 21
  16. _MAX_HEADER_SIZE: Final = 10_000
  17. def magic(major: int, minor: int) -> bytes: ...
  18. def read_magic(fp: SupportsRead[bytes]) -> tuple[int, int]: ...
  19. def dtype_to_descr(dtype: np.dtype) -> _DTypeDescr: ...
  20. def descr_to_dtype(descr: _DTypeDescr) -> np.dtype: ...
  21. def header_data_from_array_1_0(array: np.ndarray) -> dict[str, Any]: ...
  22. def write_array_header_1_0(fp: SupportsWrite[bytes], d: dict[str, Any]) -> None: ...
  23. def write_array_header_2_0(fp: SupportsWrite[bytes], d: dict[str, Any]) -> None: ...
  24. def read_array_header_1_0(fp: SupportsRead[bytes], max_header_size: int = 10_000) -> tuple[tuple[int, ...], bool, np.dtype]: ...
  25. def read_array_header_2_0(fp: SupportsRead[bytes], max_header_size: int = 10_000) -> tuple[tuple[int, ...], bool, np.dtype]: ...
  26. def write_array(
  27. fp: SupportsWrite[bytes],
  28. array: np.ndarray,
  29. version: tuple[int, int] | None = None,
  30. allow_pickle: bool = True,
  31. pickle_kwargs: dict[str, Any] | None = None,
  32. ) -> None: ...
  33. def read_array(
  34. fp: SupportsRead[bytes],
  35. allow_pickle: bool = False,
  36. pickle_kwargs: dict[str, Any] | None = None,
  37. *,
  38. max_header_size: int = 10_000,
  39. ) -> np.ndarray: ...
  40. def open_memmap(
  41. filename: str | os.PathLike[Any],
  42. mode: str = "r+",
  43. dtype: npt.DTypeLike | None = None,
  44. shape: tuple[int, ...] | None = None,
  45. fortran_order: bool = False,
  46. version: tuple[int, int] | None = None,
  47. *,
  48. max_header_size: int = 10_000,
  49. ) -> np.memmap: ...
  50. def isfileobj(f: object) -> TypeGuard[BinaryIO]: ... # don't use `typing.TypeIs`