Как включить автоматически все классы, методы и функции в документацию сфинкса?

Я пытаюсь создать html-документацию для проекта, содержащего несколько тысяч классов, используя sphinx и его плагин autodoc. sphinx-apidoc создает замечательные первые файлы, но ему не хватает автоматического создания автоклассов и автометодов.

Есть ли способ/команда/утилита в sphinx для автоматического включения всех переменных, функций, классов и декораторов в документацию?

Некоторый пример кода одного первого файла:

tagger Package
=================

:mod:`tagger` Package
------------------------
.. automodule:: project.tagger
    :members:


:mod:`client` Module
--------------------
.. automodule:: project.analyzers.tagger.client
    :members:

person Jon    schedule 02.01.2013    source источник
comment
Вы уже проверили autodocрасширение?   -  person Rik Poggi    schedule 02.01.2013
comment
расширение autodoc добавлено в conf.py: extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode'] Sphinx обнаруживает все модули, но не перечисляет классы и методы.   -  person Jon    schedule 02.01.2013
comment
В соответствии с приведенным выше расширением autodoc «Члены без строк документации будут исключены, если вы не укажете параметр флага undoc-members»   -  person intotecho    schedule 30.08.2015


Ответы (1)


В этом вам поможет расширение Sphinx, которое называется autodoc.

Если вы хотите включить класс, вам нужно написать:

.. autoclass:: <ClassName>

Аналогично для метода:

.. automethod:: <MethodName>
person Nilesh    schedule 02.01.2013
comment
Я использую автодок. Это означает, что мне пришлось бы добавлять ..autoclass более тысячи раз или создавать скрипт. Автоопределения нет? - person Jon; 02.01.2013
comment
Вы можете использовать automodule Если вы хотите автоматически документировать участников, есть опция участников. Пожалуйста, проверьте ссылку. В расширении autodoc есть много вариантов. - person Nilesh; 02.01.2013
comment
для меня добавление :members: и :undoc-members: помогло - person mluerig; 11.03.2020