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

问题描述 投票:1回答:1

因此,目前我正在使用apidoc为我的文档生成.rst文件,然后在其上使用autodoc。问题是我的程序包将代码分成许多不同的文件,这导致此嵌套混乱(我的toctree的最大深度为4):

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

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

例如:我们有一个公共类package.submodule1.SubModule1Class。作为包用户,我可以通过执行from package import SubModule1Class来导入类。

我想从我们在此__init__.py中以统一层次结构导入的所有类中自动生成文档,如下所示:

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

我可以使用apidoc上的哪些配置设置来实现此目标状态?我已经尝试了各种方法,但是没有什么比这更相似。

python python-sphinx autodoc
1个回答
0
投票

我想出的解决方案是使用Autosummary,这不是我想要的,但表现很好。我必须将所有顶级类导入到index.rst:

.. toctree::
   :hidden:

   self

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

   package.MyClass1
   package.MyClass2
   ...

© www.soinside.com 2019 - 2024. All rights reserved.