diff options
author | Bas van Beek <b.f.van.beek@vu.nl> | 2020-12-18 12:39:11 +0100 |
---|---|---|
committer | Bas van Beek <b.f.van.beek@vu.nl> | 2020-12-19 03:58:41 +0100 |
commit | ab585e6f8b047a9ca54578eb93e241917227e985 (patch) | |
tree | 90122fd81536ec853bc1f31fa469a3bf3c0d23ac /numpy/core/arrayprint.pyi | |
parent | 5b63f260933672b7182daf4fb15ffcd15bae68bf (diff) | |
download | numpy-ab585e6f8b047a9ca54578eb93e241917227e985.tar.gz |
ENH: Added annotations for `np.core.arrayprint`
Diffstat (limited to 'numpy/core/arrayprint.pyi')
-rw-r--r-- | numpy/core/arrayprint.pyi | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/numpy/core/arrayprint.pyi b/numpy/core/arrayprint.pyi new file mode 100644 index 000000000..0dd1ec057 --- /dev/null +++ b/numpy/core/arrayprint.pyi @@ -0,0 +1,148 @@ +import sys +from types import TracebackType +from typing import Any, Optional, Callable, Union, Type + +# Using a private class is by no means ideal, but it is simply a consquence +# of a `contextlib.context` returning an instance of aformentioned class +from contextlib import _GeneratorContextManager + +from numpy import ( + ndarray, + generic, + bool_, + integer, + timedelta64, + datetime64, + floating, + complexfloating, + void, + str_, + bytes_, + longdouble, + clongdouble, +) +from numpy.typing import ArrayLike, _CharLike, _FloatLike + +if sys.version_info > (3, 8): + from typing import Literal, TypedDict +else: + from typing_extensions import Literal, TypedDict + +class _FormatDict(TypedDict, total=False): + bool: Callable[[bool_], str] + int: Callable[[integer[Any]], str] + timedelta: Callable[[timedelta64], str] + datetime: Callable[[datetime64], str] + float: Callable[[floating[Any]], str] + longfloat: Callable[[longdouble], str] + complexfloat: Callable[[complexfloating[Any, Any]], str] + longcomplexfloat: Callable[[clongdouble], str] + void: Callable[[void], str] + numpystr: Callable[[_CharLike], str] + object: Callable[[object], str] + str: Callable[[Any], str] # Unused but still present? + all: Callable[[object], str] + int_kind: Callable[[integer[Any]], str] + float_kind: Callable[[floating[Any]], str] + complex_kind: Callable[[complexfloating[Any, Any]], str] + str_kind: Callable[[_CharLike], str] + +class _FormatOptions(TypedDict): + precision: int + threshold: int + edgeitems: int + linewidth: int + suppress: bool + nanstr: str + infstr: str + formatter: Optional[_FormatDict] + sign: Literal["-", "+", " "] + floatmode: Literal["fixed", "unique", "maxprec", "maxprec_equal"] + legacy: Literal[False, "1.13"] + +def set_printoptions( + precision: Optional[int] = ..., + threshold: Optional[int] = ..., + edgeitems: Optional[int] = ..., + linewidth: Optional[int] = ..., + suppress: Optional[bool] = ..., + nanstr: Optional[str] = ..., + infstr: Optional[str] = ..., + formatter: Optional[_FormatDict] = ..., + sign: Optional[Literal["-", "+", " "]] = ..., + floatmode: Optional[ + Literal["fixed", "unique", "maxprec", "maxprec_equal"] + ] = ..., + *, + legacy: Optional[Literal[False, "1.13"]] = ... +) -> None: ... +def get_printoptions() -> _FormatOptions: ... +def array2string( + a: ndarray[Any, Any], + max_line_width: Optional[int] = ..., + precision: Optional[int] = ..., + suppress_small: Optional[bool] = ..., + separator: str = ..., + prefix: str = ..., + # NOTE With the `style` argument being deprecated, + # all arguments between `formatter` and `suffix` are de facto + # keyworld-only arguments + *, + formatter: Optional[_FormatDict] = ..., + threshold: Optional[int] = ..., + edgeitems: Optional[int] = ..., + sign: Optional[Literal["-", "+", " "]] = ..., + floatmode: Optional[Literal["fixed", "unique", "maxprec", "maxprec_equal"]] = ..., + suffix: str = ..., + legacy: Optional[Literal[False, "1.13"]] = ..., +) -> str: ... +def format_float_scientific( + x: _FloatLike, + precision: Optional[int] = ..., + unique: bool = ..., + trim: Literal["k", ".", "0", "-"] = ..., + sign: bool = ..., + pad_left: Optional[int] = ..., + exp_digits: Optional[int] = ..., +) -> str: ... +def format_float_positional( + x: _FloatLike, + precision: Optional[int] = ..., + unique: bool = ..., + fractional: bool = ..., + trim: Literal["k", ".", "0", "-"] = ..., + sign: bool = ..., + pad_left: Optional[int] = ..., + pad_right: Optional[int] = ..., +) -> str: ... +def array_repr( + arr: ndarray[Any, Any], + max_line_width: Optional[int] = ..., + precision: Optional[int] = ..., + suppress_small: Optional[bool] = ..., +) -> str: ... +def array_str( + a: ndarray[Any, Any], + max_line_width: Optional[int] = ..., + precision: Optional[int] = ..., + suppress_small: Optional[bool] = ..., +) -> str: ... +def set_string_function( + f: Optional[Callable[[ndarray[Any, Any]], str]], repr: bool = ... +) -> None: ... +def printoptions( + precision: Optional[int] = ..., + threshold: Optional[int] = ..., + edgeitems: Optional[int] = ..., + linewidth: Optional[int] = ..., + suppress: Optional[bool] = ..., + nanstr: Optional[str] = ..., + infstr: Optional[str] = ..., + formatter: Optional[_FormatDict] = ..., + sign: Optional[Literal["-", "+", " "]] = ..., + floatmode: Optional[ + Literal["fixed", "unique", "maxprec", "maxprec_equal"] + ] = ..., + *, + legacy: Optional[Literal[False, "1.13"]] = ... +) -> _GeneratorContextManager[_FormatOptions]: ... |