class cfdm.core.DocstringRewriteMeta[source]

Bases: type

Modify docstrings.


To do this, we intercede before the class is created and modify the docstrings of the attributes defined on the class.

Inherited methods are also modified. We cannot simply modify the docstrings of inherited methods, because then the parent classes’ methods will have the wrong docstring. Instead, we must actually copy the functions, and then modify the docstring.

Special treatment is given to methods decorated with @property, @staticmethod and @classmethod, as well as user-defined decorations.

New in version (cfdm):




Return a type’s method resolution order.


Return the special docstring subtitutions.


Return the docstring substitutions that apply to methods of the given class.


Return the package depth, N, for {{package}} docstring substitutions for the given class.


Return the names of methods to exclude from docstring substitutions for the given class.