Skip to content

The axes module structure #11445

Closed
Closed

Description

@fredrik-1

This is a question or feature request.

I have looked into the documentation and believe that some problems is the result of the axes folder and its structure. I am not sure what is supposed to be automatic and what is not in sphinx but axes.SubplotBase is for example not included in the documentation even though most axes used in matplotlib are probably of that class.

.. automodule:: matplotlib.axes does not work even though Axes and SubplotBase exist in that module.
.. automodule:: matplotlib.axes._subplots works as I would expect but the paths are wrong.

from matplotlib.axes import SubplotBase, Axes works but the class of actual objects are using the full path, for example matplotlib.axes._subplots.AxesSubplot

I don't know much of module structures or module aliases but I think it is kind of inconvenient when different paths are used in different places and I believe that more work than needed is necessary to write the documentation correctly. See for example #11443.

Is it possibly to get a module structure such that the obj.__class__ path is the same as the alias path, i.e. axes.Axes is always used instead of axes._axes.Axes?

Activity

  1. changed the title [-]The axes modul structure[/-] [+]The axes module structure[/+] on Jun 16, 2018
  2. anntzer commented on Jun 17, 2018

    @anntzer
    Contributor

    One can always readjust cls.__module__ post-hoc; setting __all__ appropriately may also help with sphinx.
    (A single axes.py would be sufficiently enormous that I think keeping a split implementation is more manageable.)

  3. dstansby commented on Jun 25, 2018

    @dstansby
    Member

    Might be worth checking out http://sphinx-automodapi.readthedocs.io/en/latest/ in the long run, which automatically does module documentation and includes everything.

  4. added this to the v3.7.0 milestone on Oct 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions