Я использую Sphinx и autosummary для создания документации программного обеспечения Python. Он работает хорошо, но в созданных файлах .rst также перечислены импортированные функции и классы, чего я бы не хотел.
Например, пакет packageex со строкой документации:
"""
Package Example (:mod:`packageex`)
==================================
.. currentmodule:: packageex
.. autosummary::
:toctree:
module0
module1
"""
создаст файл packageex.module0.rst с
Module0 (:mod:`packageex.module0`)
=================================
.. currentmodule:: packageex.module0
.. rubric:: Functions
.. autosummary::
f0
f1
f2_imported
f3_imported
.. rubric:: Classes
.. autosummary::
Class0
ClassImported
Есть ли способ перечислить только функции и классы, определенные в модуле (а не импортированные)?
В документе autodoc (http://sphinx-doc.org/latest/ext/autodoc.html): «В директиве automdule с установленной опцией members будут задокументированы только те элементы модуля, атрибут __module__
которых равен имени модуля, заданному модулю automdule. Это необходимо для предотвращения документации импортированных классов или функции. Установите параметр import-members, если вы хотите предотвратить такое поведение и задокументировать все доступные элементы. Обратите внимание, что атрибуты из импортированных модулей не будут задокументированы, поскольку документация по атрибутам обнаруживается путем анализа исходного файла текущего модуля ». Можно ли добиться того же поведения с автосводкой?