You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.0 KiB
57 lines
2.0 KiB
import os
|
|
from _typeshed import SupportsRead, SupportsWrite
|
|
from typing import Any, BinaryIO, Final, TypeAlias, TypeGuard
|
|
|
|
import numpy as np
|
|
import numpy.typing as npt
|
|
from numpy.lib._utils_impl import drop_metadata as drop_metadata
|
|
|
|
__all__: list[str] = []
|
|
|
|
_DTypeDescr: TypeAlias = list[tuple[str, str]] | list[tuple[str, str, tuple[int, ...]]]
|
|
|
|
###
|
|
|
|
EXPECTED_KEYS: Final[set[str]] = ...
|
|
MAGIC_PREFIX: Final = b"\x93NUMPY"
|
|
MAGIC_LEN: Final = 8
|
|
ARRAY_ALIGN: Final = 64
|
|
BUFFER_SIZE: Final = 262_144 # 1 << 18
|
|
GROWTH_AXIS_MAX_DIGITS: Final = 21
|
|
_MAX_HEADER_SIZE: Final = 10_000
|
|
|
|
def magic(major: int, minor: int) -> bytes: ...
|
|
def read_magic(fp: SupportsRead[bytes]) -> tuple[int, int]: ...
|
|
def dtype_to_descr(dtype: np.dtype) -> _DTypeDescr: ...
|
|
def descr_to_dtype(descr: _DTypeDescr) -> np.dtype: ...
|
|
def header_data_from_array_1_0(array: np.ndarray) -> dict[str, Any]: ...
|
|
def write_array_header_1_0(fp: SupportsWrite[bytes], d: dict[str, Any]) -> None: ...
|
|
def write_array_header_2_0(fp: SupportsWrite[bytes], d: dict[str, Any]) -> None: ...
|
|
def read_array_header_1_0(fp: SupportsRead[bytes], max_header_size: int = 10_000) -> tuple[tuple[int, ...], bool, np.dtype]: ...
|
|
def read_array_header_2_0(fp: SupportsRead[bytes], max_header_size: int = 10_000) -> tuple[tuple[int, ...], bool, np.dtype]: ...
|
|
def write_array(
|
|
fp: SupportsWrite[bytes],
|
|
array: np.ndarray,
|
|
version: tuple[int, int] | None = None,
|
|
allow_pickle: bool = True,
|
|
pickle_kwargs: dict[str, Any] | None = None,
|
|
) -> None: ...
|
|
def read_array(
|
|
fp: SupportsRead[bytes],
|
|
allow_pickle: bool = False,
|
|
pickle_kwargs: dict[str, Any] | None = None,
|
|
*,
|
|
max_header_size: int = 10_000,
|
|
) -> np.ndarray: ...
|
|
def open_memmap(
|
|
filename: str | os.PathLike[Any],
|
|
mode: str = "r+",
|
|
dtype: npt.DTypeLike | None = None,
|
|
shape: tuple[int, ...] | None = None,
|
|
fortran_order: bool = False,
|
|
version: tuple[int, int] | None = None,
|
|
*,
|
|
max_header_size: int = 10_000,
|
|
) -> np.memmap: ...
|
|
def isfileobj(f: object) -> TypeGuard[BinaryIO]: ... # don't use `typing.TypeIs`
|