Можно ли переопределить автодок Sphinx для определенных функций? - PullRequest
11 голосов
/ 20 марта 2011

Я использую плагин Sphinx autodoc для автоматического документирования набора модулей. У меня есть функция, которая принимает *args, и я хотел бы переопределить документацию, чтобы показать немного более приятный стиль funcname(arg1[, arg2[, ...]]), который используют документы Python stdlib.

Можно ли переопределить вывод autodoc для определенной функции?

1 Ответ

17 голосов
/ 20 марта 2011

Можно переопределить подпись, используя autofunction:

.. automodule:: yourmodule
   :members:
   :exclude-members: funcname

.. autofunction:: funcname(arg1[, arg2[, ...]])

Однако функция с переопределенной подписью не сортируется с другими функциями, введенными с automodule. Использование явных директив autofunction для каждой функции обходит это:

.. autofunction:: firstfunc

.. autofunction:: funcname(arg1[, arg2[, ...]])

.. autofunction:: thirdfunc

Добавление

Вы также можете добавить в строку документации:

.. autofunction:: funcname(arg1[, arg2[, ...]])

   Extra documentation here.  

Чтобы переопределить подпись и строку документации, используйте function вместо autofunction.

Сложение 2

Подпись также может быть переопределена, если в первой строке функции docstring имеется подпись. Подробнее см. в этом ответе .

...