Search code examples
pythonpython-sphinxautodocqualified-namesphinx-napoleon

Can I use Sphinx automodule but drop the module name in the signature?


I have a module mod with some submodule submod and use .. automodule:: mod.submod to generate documentation for it.

The signatures of the elements (functions, classes etc.) in the modules now show the qualified name, like mod.submod.my_function(*args, **kwargs).

I would instead like Sphinx to just show the name of the function, i.e. the signature my_function(*args, **kwargs).

Do I have any way to drop the leading module and submodules in the signature?


Solution

  • Omitting module and package names preceding functions, methods and variables is done by setting the add_module_name configuration in your conf.py:

    add_module_names = False
    

    This is not obvious because of the numerous autodoc configurations that together with the sphinx-napoleon configurations make you expect the configuration elsewhere.