Предположим, у меня есть атрибут модуля, содержащий динамически сгенерированную структуру.
class Struct:
pass
def make_api():
root = Struct()
root.group1 = Struct()
root.group1.do_foo = foo_func
root.group1.do_bar = bar_func
return root
default_api = make_api()
Мне нужно автоматически сгенерировать документацию для всех элементов / атрибутов default_api
: default_api.group1.do_foo
default_api.group1.do_bar
et c. Мне нужно сгенерировать документацию без необходимости перечисления всех методов внутри default_api.group1
.
. Я пробовал несколько конструкций sphinx, но не смог заставить их заглянуть внутрь default_api.group1
:
Эти три каждый пытается показать одну строку о самом default_api.group1
, но не перечисляет никаких элементов.
.. autodata:: default_api.group1
:annotation:
.. autoattribute:: default_api.group1
:annotation:
.. autoclass:: default_api.group1
:members:
:undoc-members:
Следующие конструкции генерируют документацию для одного метода, но мне нужно сгенерировать документацию без перечисления вручную методы.
.. autodata:: default_api.group1.do_foo
.. automethod:: default_api.group1.do_foo
Как я могу заставить Sphinx автоматически генерировать списки участников и документы в этом случае?