done
This commit is contained in:
499
lib/python3.11/site-packages/numpy/testing/_private/utils.pyi
Normal file
499
lib/python3.11/site-packages/numpy/testing/_private/utils.pyi
Normal file
@ -0,0 +1,499 @@
|
||||
import ast
|
||||
import sys
|
||||
import types
|
||||
import unittest
|
||||
import warnings
|
||||
from collections.abc import Callable, Iterable, Sequence
|
||||
from contextlib import _GeneratorContextManager
|
||||
from pathlib import Path
|
||||
from re import Pattern
|
||||
from typing import (
|
||||
Any,
|
||||
AnyStr,
|
||||
ClassVar,
|
||||
Final,
|
||||
Generic,
|
||||
NoReturn,
|
||||
ParamSpec,
|
||||
Self,
|
||||
SupportsIndex,
|
||||
TypeAlias,
|
||||
TypeVarTuple,
|
||||
overload,
|
||||
type_check_only,
|
||||
)
|
||||
from typing import Literal as L
|
||||
from unittest.case import SkipTest
|
||||
|
||||
from _typeshed import ConvertibleToFloat, GenericPath, StrOrBytesPath, StrPath
|
||||
from typing_extensions import TypeVar
|
||||
|
||||
import numpy as np
|
||||
from numpy._typing import (
|
||||
ArrayLike,
|
||||
DTypeLike,
|
||||
NDArray,
|
||||
_ArrayLikeDT64_co,
|
||||
_ArrayLikeNumber_co,
|
||||
_ArrayLikeObject_co,
|
||||
_ArrayLikeTD64_co,
|
||||
)
|
||||
|
||||
__all__ = [ # noqa: RUF022
|
||||
"IS_EDITABLE",
|
||||
"IS_MUSL",
|
||||
"IS_PYPY",
|
||||
"IS_PYSTON",
|
||||
"IS_WASM",
|
||||
"HAS_LAPACK64",
|
||||
"HAS_REFCOUNT",
|
||||
"NOGIL_BUILD",
|
||||
"assert_",
|
||||
"assert_array_almost_equal_nulp",
|
||||
"assert_raises_regex",
|
||||
"assert_array_max_ulp",
|
||||
"assert_warns",
|
||||
"assert_no_warnings",
|
||||
"assert_allclose",
|
||||
"assert_equal",
|
||||
"assert_almost_equal",
|
||||
"assert_approx_equal",
|
||||
"assert_array_equal",
|
||||
"assert_array_less",
|
||||
"assert_string_equal",
|
||||
"assert_array_almost_equal",
|
||||
"assert_raises",
|
||||
"build_err_msg",
|
||||
"decorate_methods",
|
||||
"jiffies",
|
||||
"memusage",
|
||||
"print_assert_equal",
|
||||
"rundocs",
|
||||
"runstring",
|
||||
"verbose",
|
||||
"measure",
|
||||
"IgnoreException",
|
||||
"clear_and_catch_warnings",
|
||||
"SkipTest",
|
||||
"KnownFailureException",
|
||||
"temppath",
|
||||
"tempdir",
|
||||
"suppress_warnings",
|
||||
"assert_array_compare",
|
||||
"assert_no_gc_cycles",
|
||||
"break_cycles",
|
||||
"check_support_sve",
|
||||
"run_threaded",
|
||||
]
|
||||
|
||||
###
|
||||
|
||||
_T = TypeVar("_T")
|
||||
_Ts = TypeVarTuple("_Ts")
|
||||
_Tss = ParamSpec("_Tss")
|
||||
_ET = TypeVar("_ET", bound=BaseException, default=BaseException)
|
||||
_FT = TypeVar("_FT", bound=Callable[..., Any])
|
||||
_W_co = TypeVar("_W_co", bound=_WarnLog | None, default=_WarnLog | None, covariant=True)
|
||||
_T_or_bool = TypeVar("_T_or_bool", default=bool)
|
||||
|
||||
_StrLike: TypeAlias = str | bytes
|
||||
_RegexLike: TypeAlias = _StrLike | Pattern[Any]
|
||||
_NumericArrayLike: TypeAlias = _ArrayLikeNumber_co | _ArrayLikeObject_co
|
||||
|
||||
_ExceptionSpec: TypeAlias = type[_ET] | tuple[type[_ET], ...]
|
||||
_WarningSpec: TypeAlias = type[Warning]
|
||||
_WarnLog: TypeAlias = list[warnings.WarningMessage]
|
||||
_ToModules: TypeAlias = Iterable[types.ModuleType]
|
||||
|
||||
# Must return a bool or an ndarray/generic type that is supported by `np.logical_and.reduce`
|
||||
_ComparisonFunc: TypeAlias = Callable[
|
||||
[NDArray[Any], NDArray[Any]],
|
||||
bool | np.bool | np.number | NDArray[np.bool | np.number | np.object_],
|
||||
]
|
||||
|
||||
# Type-check only `clear_and_catch_warnings` subclasses for both values of the
|
||||
# `record` parameter. Copied from the stdlib `warnings` stubs.
|
||||
@type_check_only
|
||||
class _clear_and_catch_warnings_with_records(clear_and_catch_warnings):
|
||||
def __enter__(self) -> list[warnings.WarningMessage]: ...
|
||||
|
||||
@type_check_only
|
||||
class _clear_and_catch_warnings_without_records(clear_and_catch_warnings):
|
||||
def __enter__(self) -> None: ...
|
||||
|
||||
###
|
||||
|
||||
verbose: int = 0
|
||||
NUMPY_ROOT: Final[Path] = ...
|
||||
IS_INSTALLED: Final[bool] = ...
|
||||
IS_EDITABLE: Final[bool] = ...
|
||||
IS_MUSL: Final[bool] = ...
|
||||
IS_PYPY: Final[bool] = ...
|
||||
IS_PYSTON: Final[bool] = ...
|
||||
IS_WASM: Final[bool] = ...
|
||||
HAS_REFCOUNT: Final[bool] = ...
|
||||
HAS_LAPACK64: Final[bool] = ...
|
||||
NOGIL_BUILD: Final[bool] = ...
|
||||
|
||||
class KnownFailureException(Exception): ...
|
||||
class IgnoreException(Exception): ...
|
||||
|
||||
# NOTE: `warnings.catch_warnings` is incorrectly defined as invariant in typeshed
|
||||
class clear_and_catch_warnings(warnings.catch_warnings[_W_co], Generic[_W_co]): # type: ignore[type-var] # pyright: ignore[reportInvalidTypeArguments]
|
||||
class_modules: ClassVar[tuple[types.ModuleType, ...]] = ()
|
||||
modules: Final[set[types.ModuleType]]
|
||||
@overload # record: True
|
||||
def __init__(self: clear_and_catch_warnings[_WarnLog], /, record: L[True], modules: _ToModules = ()) -> None: ...
|
||||
@overload # record: False (default)
|
||||
def __init__(self: clear_and_catch_warnings[None], /, record: L[False] = False, modules: _ToModules = ()) -> None: ...
|
||||
@overload # record; bool
|
||||
def __init__(self, /, record: bool, modules: _ToModules = ()) -> None: ...
|
||||
|
||||
class suppress_warnings:
|
||||
log: Final[_WarnLog]
|
||||
def __init__(self, /, forwarding_rule: L["always", "module", "once", "location"] = "always") -> None: ...
|
||||
def __enter__(self) -> Self: ...
|
||||
def __exit__(self, cls: type[BaseException] | None, exc: BaseException | None, tb: types.TracebackType | None, /) -> None: ...
|
||||
def __call__(self, /, func: _FT) -> _FT: ...
|
||||
|
||||
#
|
||||
def filter(self, /, category: type[Warning] = ..., message: str = "", module: types.ModuleType | None = None) -> None: ...
|
||||
def record(self, /, category: type[Warning] = ..., message: str = "", module: types.ModuleType | None = None) -> _WarnLog: ...
|
||||
|
||||
# Contrary to runtime we can't do `os.name` checks while type checking,
|
||||
# only `sys.platform` checks
|
||||
if sys.platform == "win32" or sys.platform == "cygwin":
|
||||
def memusage(processName: str = ..., instance: int = ...) -> int: ...
|
||||
elif sys.platform == "linux":
|
||||
def memusage(_proc_pid_stat: StrOrBytesPath = ...) -> int | None: ...
|
||||
else:
|
||||
def memusage() -> NoReturn: ...
|
||||
|
||||
if sys.platform == "linux":
|
||||
def jiffies(_proc_pid_stat: StrOrBytesPath = ..., _load_time: list[float] = []) -> int: ...
|
||||
else:
|
||||
def jiffies(_load_time: list[float] = []) -> int: ...
|
||||
|
||||
#
|
||||
def build_err_msg(
|
||||
arrays: Iterable[object],
|
||||
err_msg: object,
|
||||
header: str = ...,
|
||||
verbose: bool = ...,
|
||||
names: Sequence[str] = ...,
|
||||
precision: SupportsIndex | None = ...,
|
||||
) -> str: ...
|
||||
|
||||
#
|
||||
def print_assert_equal(test_string: str, actual: object, desired: object) -> None: ...
|
||||
|
||||
#
|
||||
def assert_(val: object, msg: str | Callable[[], str] = "") -> None: ...
|
||||
|
||||
#
|
||||
def assert_equal(
|
||||
actual: object,
|
||||
desired: object,
|
||||
err_msg: object = "",
|
||||
verbose: bool = True,
|
||||
*,
|
||||
strict: bool = False,
|
||||
) -> None: ...
|
||||
|
||||
def assert_almost_equal(
|
||||
actual: _NumericArrayLike,
|
||||
desired: _NumericArrayLike,
|
||||
decimal: int = 7,
|
||||
err_msg: object = "",
|
||||
verbose: bool = True,
|
||||
) -> None: ...
|
||||
|
||||
#
|
||||
def assert_approx_equal(
|
||||
actual: ConvertibleToFloat,
|
||||
desired: ConvertibleToFloat,
|
||||
significant: int = 7,
|
||||
err_msg: object = "",
|
||||
verbose: bool = True,
|
||||
) -> None: ...
|
||||
|
||||
#
|
||||
def assert_array_compare(
|
||||
comparison: _ComparisonFunc,
|
||||
x: ArrayLike,
|
||||
y: ArrayLike,
|
||||
err_msg: object = "",
|
||||
verbose: bool = True,
|
||||
header: str = "",
|
||||
precision: SupportsIndex = 6,
|
||||
equal_nan: bool = True,
|
||||
equal_inf: bool = True,
|
||||
*,
|
||||
strict: bool = False,
|
||||
names: tuple[str, str] = ("ACTUAL", "DESIRED"),
|
||||
) -> None: ...
|
||||
|
||||
#
|
||||
def assert_array_equal(
|
||||
actual: object,
|
||||
desired: object,
|
||||
err_msg: object = "",
|
||||
verbose: bool = True,
|
||||
*,
|
||||
strict: bool = False,
|
||||
) -> None: ...
|
||||
|
||||
#
|
||||
def assert_array_almost_equal(
|
||||
actual: _NumericArrayLike,
|
||||
desired: _NumericArrayLike,
|
||||
decimal: float = 6,
|
||||
err_msg: object = "",
|
||||
verbose: bool = True,
|
||||
) -> None: ...
|
||||
|
||||
@overload
|
||||
def assert_array_less(
|
||||
x: _ArrayLikeDT64_co,
|
||||
y: _ArrayLikeDT64_co,
|
||||
err_msg: object = "",
|
||||
verbose: bool = True,
|
||||
*,
|
||||
strict: bool = False,
|
||||
) -> None: ...
|
||||
@overload
|
||||
def assert_array_less(
|
||||
x: _ArrayLikeTD64_co,
|
||||
y: _ArrayLikeTD64_co,
|
||||
err_msg: object = "",
|
||||
verbose: bool = True,
|
||||
*,
|
||||
strict: bool = False,
|
||||
) -> None: ...
|
||||
@overload
|
||||
def assert_array_less(
|
||||
x: _NumericArrayLike,
|
||||
y: _NumericArrayLike,
|
||||
err_msg: object = "",
|
||||
verbose: bool = True,
|
||||
*,
|
||||
strict: bool = False,
|
||||
) -> None: ...
|
||||
|
||||
#
|
||||
def assert_string_equal(actual: str, desired: str) -> None: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def assert_raises(
|
||||
exception_class: _ExceptionSpec[_ET],
|
||||
/,
|
||||
*,
|
||||
msg: str | None = None,
|
||||
) -> unittest.case._AssertRaisesContext[_ET]: ...
|
||||
@overload
|
||||
def assert_raises(
|
||||
exception_class: _ExceptionSpec,
|
||||
callable: Callable[_Tss, Any],
|
||||
/,
|
||||
*args: _Tss.args,
|
||||
**kwargs: _Tss.kwargs,
|
||||
) -> None: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def assert_raises_regex(
|
||||
exception_class: _ExceptionSpec[_ET],
|
||||
expected_regexp: _RegexLike,
|
||||
*,
|
||||
msg: str | None = None,
|
||||
) -> unittest.case._AssertRaisesContext[_ET]: ...
|
||||
@overload
|
||||
def assert_raises_regex(
|
||||
exception_class: _ExceptionSpec,
|
||||
expected_regexp: _RegexLike,
|
||||
callable: Callable[_Tss, Any],
|
||||
*args: _Tss.args,
|
||||
**kwargs: _Tss.kwargs,
|
||||
) -> None: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def assert_allclose(
|
||||
actual: _ArrayLikeTD64_co,
|
||||
desired: _ArrayLikeTD64_co,
|
||||
rtol: float = 1e-7,
|
||||
atol: float = 0,
|
||||
equal_nan: bool = True,
|
||||
err_msg: object = "",
|
||||
verbose: bool = True,
|
||||
*,
|
||||
strict: bool = False,
|
||||
) -> None: ...
|
||||
@overload
|
||||
def assert_allclose(
|
||||
actual: _NumericArrayLike,
|
||||
desired: _NumericArrayLike,
|
||||
rtol: float = 1e-7,
|
||||
atol: float = 0,
|
||||
equal_nan: bool = True,
|
||||
err_msg: object = "",
|
||||
verbose: bool = True,
|
||||
*,
|
||||
strict: bool = False,
|
||||
) -> None: ...
|
||||
|
||||
#
|
||||
def assert_array_almost_equal_nulp(
|
||||
x: _ArrayLikeNumber_co,
|
||||
y: _ArrayLikeNumber_co,
|
||||
nulp: float = 1,
|
||||
) -> None: ...
|
||||
|
||||
#
|
||||
def assert_array_max_ulp(
|
||||
a: _ArrayLikeNumber_co,
|
||||
b: _ArrayLikeNumber_co,
|
||||
maxulp: float = 1,
|
||||
dtype: DTypeLike | None = None,
|
||||
) -> NDArray[Any]: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def assert_warns(warning_class: _WarningSpec) -> _GeneratorContextManager[None]: ...
|
||||
@overload
|
||||
def assert_warns(warning_class: _WarningSpec, func: Callable[_Tss, _T], *args: _Tss.args, **kwargs: _Tss.kwargs) -> _T: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def assert_no_warnings() -> _GeneratorContextManager[None]: ...
|
||||
@overload
|
||||
def assert_no_warnings(func: Callable[_Tss, _T], /, *args: _Tss.args, **kwargs: _Tss.kwargs) -> _T: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def assert_no_gc_cycles() -> _GeneratorContextManager[None]: ...
|
||||
@overload
|
||||
def assert_no_gc_cycles(func: Callable[_Tss, Any], /, *args: _Tss.args, **kwargs: _Tss.kwargs) -> None: ...
|
||||
|
||||
###
|
||||
|
||||
#
|
||||
@overload
|
||||
def tempdir(
|
||||
suffix: None = None,
|
||||
prefix: None = None,
|
||||
dir: None = None,
|
||||
) -> _GeneratorContextManager[str]: ...
|
||||
@overload
|
||||
def tempdir(
|
||||
suffix: AnyStr | None = None,
|
||||
prefix: AnyStr | None = None,
|
||||
*,
|
||||
dir: GenericPath[AnyStr],
|
||||
) -> _GeneratorContextManager[AnyStr]: ...
|
||||
@overload
|
||||
def tempdir(
|
||||
suffix: AnyStr | None = None,
|
||||
*,
|
||||
prefix: AnyStr,
|
||||
dir: GenericPath[AnyStr] | None = None,
|
||||
) -> _GeneratorContextManager[AnyStr]: ...
|
||||
@overload
|
||||
def tempdir(
|
||||
suffix: AnyStr,
|
||||
prefix: AnyStr | None = None,
|
||||
dir: GenericPath[AnyStr] | None = None,
|
||||
) -> _GeneratorContextManager[AnyStr]: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def temppath(
|
||||
suffix: None = None,
|
||||
prefix: None = None,
|
||||
dir: None = None,
|
||||
text: bool = False,
|
||||
) -> _GeneratorContextManager[str]: ...
|
||||
@overload
|
||||
def temppath(
|
||||
suffix: AnyStr | None,
|
||||
prefix: AnyStr | None,
|
||||
dir: GenericPath[AnyStr],
|
||||
text: bool = False,
|
||||
) -> _GeneratorContextManager[AnyStr]: ...
|
||||
@overload
|
||||
def temppath(
|
||||
suffix: AnyStr | None = None,
|
||||
prefix: AnyStr | None = None,
|
||||
*,
|
||||
dir: GenericPath[AnyStr],
|
||||
text: bool = False,
|
||||
) -> _GeneratorContextManager[AnyStr]: ...
|
||||
@overload
|
||||
def temppath(
|
||||
suffix: AnyStr | None,
|
||||
prefix: AnyStr,
|
||||
dir: GenericPath[AnyStr] | None = None,
|
||||
text: bool = False,
|
||||
) -> _GeneratorContextManager[AnyStr]: ...
|
||||
@overload
|
||||
def temppath(
|
||||
suffix: AnyStr | None = None,
|
||||
*,
|
||||
prefix: AnyStr,
|
||||
dir: GenericPath[AnyStr] | None = None,
|
||||
text: bool = False,
|
||||
) -> _GeneratorContextManager[AnyStr]: ...
|
||||
@overload
|
||||
def temppath(
|
||||
suffix: AnyStr,
|
||||
prefix: AnyStr | None = None,
|
||||
dir: GenericPath[AnyStr] | None = None,
|
||||
text: bool = False,
|
||||
) -> _GeneratorContextManager[AnyStr]: ...
|
||||
|
||||
#
|
||||
def check_support_sve(__cache: list[_T_or_bool] = []) -> _T_or_bool: ... # noqa: PYI063
|
||||
|
||||
#
|
||||
def decorate_methods(
|
||||
cls: type,
|
||||
decorator: Callable[[Callable[..., Any]], Any],
|
||||
testmatch: _RegexLike | None = None,
|
||||
) -> None: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def run_threaded(
|
||||
func: Callable[[], None],
|
||||
max_workers: int = 8,
|
||||
pass_count: bool = False,
|
||||
pass_barrier: bool = False,
|
||||
outer_iterations: int = 1,
|
||||
prepare_args: None = None,
|
||||
) -> None: ...
|
||||
@overload
|
||||
def run_threaded(
|
||||
func: Callable[[*_Ts], None],
|
||||
max_workers: int,
|
||||
pass_count: bool,
|
||||
pass_barrier: bool,
|
||||
outer_iterations: int,
|
||||
prepare_args: tuple[*_Ts],
|
||||
) -> None: ...
|
||||
@overload
|
||||
def run_threaded(
|
||||
func: Callable[[*_Ts], None],
|
||||
max_workers: int = 8,
|
||||
pass_count: bool = False,
|
||||
pass_barrier: bool = False,
|
||||
outer_iterations: int = 1,
|
||||
*,
|
||||
prepare_args: tuple[*_Ts],
|
||||
) -> None: ...
|
||||
|
||||
#
|
||||
def runstring(astr: _StrLike | types.CodeType, dict: dict[str, Any] | None) -> Any: ... # noqa: ANN401
|
||||
def rundocs(filename: StrPath | None = None, raise_on_error: bool = True) -> None: ...
|
||||
def measure(code_str: _StrLike | ast.AST, times: int = 1, label: str | None = None) -> float: ...
|
||||
def break_cycles() -> None: ...
|
Reference in New Issue
Block a user