如何使用 Sphinx apidoc 仅记录在 __init__.py 中导入的 Python 类?

How to use Sphinx apidoc to only document Python classes that are imported in __init__.py?

所以目前我正在使用 apidoc 为我的文档生成 .rst 文件,然后对它们使用 autodoc。问题是我的包将代码分成许多不同的文件,这导致了这个嵌套的混乱(我的 toctree 的最大深度为 4):

Welcome to (package)'s documentation!
Contents:
- (package)
    - (package) package
        - subpackages
            - package.subpackage1 subpackage
            - ...
        - submodules
            - package.submodule1 module
- module contents

我们将所有相关的 class 导入包的基础 __init__.py

举个例子:我们有一个public class package.submodule1.SubModule1Class。 作为包用户,我可以通过 from package import SubModule1Class) 导入 class。

我想从我们在这个 __init__.py 中导入的所有 classes 自动生成文档,像这样:

Welcome to (package)'s documentation!
Contents:
- SubModuleClass1
- SubModuleClass2
- SubModuleClass3
...

我可以使用 apidoc 上的哪些配置设置来实现此目标状态?我尝试过各种各样的东西,但没有什么比这更像的了。

我想到的解决方案是使用 Autosummary,这不是我想要的,但已经足够好了。我必须将所有顶级 类 导入我的 index.rst:

.. toctree::
   :hidden:

   self

.. autosummary::
   :toctree: stubs
   :nosignatures:

   package.MyClass1
   package.MyClass2
   ...