Sphinx - автоматически генерировать документацию для всех атрибутов сгенерированного объекта - PullRequest
0 голосов
/ 16 апреля 2020

Предположим, у меня есть атрибут модуля, содержащий динамически сгенерированную структуру.

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 автоматически генерировать списки участников и документы в этом случае?

...