Skip to content

Sphinx autosummary modules should return module names without pathΒ #9743

@4flixt

Description

@4flixt

Is your feature request related to a problem? Please describe.
We are using sphinx.ext.autosummary with _templates to create new files for each class, attribute, function.
This works perfectly for the above mentioned, where the template file contains (e.g. just for classes):

{% if classes %}
.. automodule:: {{ fullname }}
.. currentmodule:: {{ fullname }}

.. rubric:: Classes
.. autosummary::
    :toctree:
    :nosignatures:
    {% for class in classes %}
    {{ class }}
    {% endfor %}
{% endif %}

Note that we are setting with .. currentmodule:: {{ fullname }} the correct path to the current file and then document each class with: {% for class in classes %}. This works, because classes returns the class names without prefix (the path contained in fullname).

For modules, on the other hand, the approach doesn't work:

{% if modules %}
.. automodule:: {{ fullname }}
.. currentmodule:: {{ fullname }}
.. autosummary::
   :toctree:
   :recursive:
   :template: module.rst
   {% for module in modules %}
   {{ module }}
   {% endfor %}
{% endif %}

The problem is here that modules returns a list of modules with the full path.

Describe the solution you'd like
Have modules return only the module name without prefix (full path)

Additional context
We use Sphinx to document our toolbox do-mpc

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions