Как автоматически добавлять типы параметров в документацию sphinx
В настоящее время я пытаюсь реализовать автоматическое создание документации с помощью Sphinx (используя расширения sphinx-apidoc и napoleon). Это работает довольно хорошо, но было бы еще лучше, если бы шрифты (соглашение PEP484) автоматически добавлялись в список параметров.
Мне было интересно, возможно ли это.
Конкретнее: (из примера Наполеона)
def function_with_pep484_type_annotations(param1: int, param2: str) -> bool:
"""Example function with PEP 484 type annotations.
Args:
param1: The first parameter.
param2: The second parameter.
Returns:
The return value. True for success, False otherwise.
"""
Это выглядит следующим образом:
Список параметров содержит все параметры, но не привязывает типы. Можно добавить их вручную, но это может привести к проблемам в будущем, когда будет решено изменить подпись.
Пример с ручным добавлением типа:
def function_with_pep484_type_annotations(param1: int, param2: str) -> bool:
"""Example function with PEP 484 type annotations.
Args:
param1 (int): The first parameter.
param2 (str): The second parameter.
Returns:
The return value. True for success, False otherwise.
"""
который отображается как:
1 ответ
Теперь вы можете использовать расширение https://github.com/agronholm/sphinx-autodoc-typehints. Он автоматически добавит типы в строки документов sphinx, когда вы напишете в предыдущем примере выше.
Чтобы установить, просто сделайте
$ pip install sphinx-autodoc-typehints
добавлять 'sphinx_autodoc_typehints'
к extensions
список в conf.py
после 'sphinx.ext.napoleon'
и убедитесь, что вы также добавили napoleon_use_param = True
в conf.py
,