summaryrefslogtreecommitdiff
path: root/numpy/core/arrayprint.pyi
diff options
context:
space:
mode:
authorBas van Beek <b.f.van.beek@vu.nl>2020-12-18 12:39:11 +0100
committerBas van Beek <b.f.van.beek@vu.nl>2020-12-19 03:58:41 +0100
commitab585e6f8b047a9ca54578eb93e241917227e985 (patch)
tree90122fd81536ec853bc1f31fa469a3bf3c0d23ac /numpy/core/arrayprint.pyi
parent5b63f260933672b7182daf4fb15ffcd15bae68bf (diff)
downloadnumpy-ab585e6f8b047a9ca54578eb93e241917227e985.tar.gz
ENH: Added annotations for `np.core.arrayprint`
Diffstat (limited to 'numpy/core/arrayprint.pyi')
-rw-r--r--numpy/core/arrayprint.pyi148
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]: ...