o 6a@s~dZddlZddlZddlmZgZdedededdfd d Zdefd d Zed ddedddede edeZ dS)z=A module for creating docstrings for sphinx ``data`` domains.N)NDArraynamevaluedocreturncCst|||fdS)zAppend ``_docstrings_list`` with a docstring for `name`. Parameters ---------- name : str The name of the object. value : str A string-representation of the object. doc : str The docstring of the object. N)_docstrings_listappend)rrrr =/usr/lib/python3/dist-packages/numpy/typing/_add_docstring.py add_newdoc s r c Csg}tD]r\}}}t|dd}|d}g}d}|D]E}td|} | rY|rYt|} | dkrDd}|| dd| nd}|| dd | |dq|||qd |}|d |d |d|qd |S) zaConvert all docstrings in ``_docstrings_list`` into a single sphinx-legible text block.  z z^(\s+)[-=]+\s*$Examplesrz .. rubric:: z z.. admonition:: z .. data:: z :value: ) rtextwrapdedentreplacesplitrematchpopr groupjoin) type_list_retrrrslines new_linesindentlinemprevr r r _parse_docstringss(     r! ArrayLikeztyping.Union[...]aG A `~typing.Union` representing objects that can be coerced into an `~numpy.ndarray`. Among others this includes the likes of: * Scalars. * (Nested) sequences. * Objects implementing the `~class.__array__` protocol. See Also -------- :term:`array_like`: Any scalar or sequence that can be interpreted as an ndarray. Examples -------- .. code-block:: python >>> import numpy as np >>> import numpy.typing as npt >>> def as_array(a: npt.ArrayLike) -> np.ndarray: ... return np.array(a) DTypeLikea A `~typing.Union` representing objects that can be coerced into a `~numpy.dtype`. Among others this includes the likes of: * :class:`type` objects. * Character codes or the names of :class:`type` objects. * Objects with the ``.dtype`` attribute. See Also -------- :ref:`Specifying and constructing data types ` A comprehensive overview of all objects that can be coerced into data types. Examples -------- .. code-block:: python >>> import numpy as np >>> import numpy.typing as npt >>> def as_dtype(d: npt.DTypeLike) -> np.dtype: ... return np.dtype(d) ra A :term:`generic ` version of `np.ndarray[Any, np.dtype[+ScalarType]] `. Can be used during runtime for typing arrays with a given dtype and unspecified shape. Examples -------- .. code-block:: python >>> import numpy as np >>> import numpy.typing as npt >>> print(npt.NDArray) numpy.ndarray[typing.Any, numpy.dtype[+ScalarType]] >>> print(npt.NDArray[np.float64]) numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]] >>> NDArrayInt = npt.NDArray[np.int_] >>> a: NDArrayInt = np.arange(10) >>> def func(a: npt.ArrayLike) -> npt.NDArray[Any]: ... return np.array(a) ) __doc__rr_generic_aliasrrstrr r!repr _docstringsr r r r s" !