This is a pre-release version (2.5.0.dev0+git20251130.2de293a). Go to latest (2.4.4)
{ } Raw JSON

bundles / numpy 2.5.0.dev0+git20251130.2de293a / numpy / lib / add_newdoc

function

numpy.lib:add_newdoc

source: build-install/usr/lib/python3.14/site-packages/numpy/_core/function_base.py :490

Signature

def   add_newdoc ( place obj doc warn_on_python = True )

Summary

Add documentation to an existing object, typically one defined in C

Extended Summary

The purpose is to allow easier editing of the docstrings without requiring a re-compile. This exists primarily for internal use within numpy itself.

Parameters

place : str

The absolute name of the module to import from

obj : str | None

The name of the object to add documentation to, typically a class or function name.

doc : str | tuple[str, str] | list[tuple[str, str]]

If a string, the documentation to apply to obj

If a tuple, then the first element is interpreted as an attribute of obj and the second as the docstring to apply - (method, docstring)

If a list, then each element of the list should be a tuple of length two - [(method1, docstring1), (method2, docstring2), ...]

warn_on_python : bool

If True, the default, emit UserWarning if this is used to attach documentation to a pure-python object.

Notes

This routine never raises an error if the docstring can't be written, but will raise an error if the object being documented does not exist.

This routine cannot modify read-only docstrings, as appear in new-style classes or built-in functions. Because this routine never raises an error the caller must check manually that the docstrings were changed.

Since this function grabs the char * from a c-level str object and puts it into the tp_doc slot of the type of obj, it violates a number of C-API best-practices, by:

  • modifying a PyTypeObject after calling PyType_Ready

  • calling Py_INCREF on the str and losing the reference, so the str will never be released

If possible it should be avoided.

Aliases

  • numpy.lib.add_newdoc