Как автоматически добавлять типы параметров в документацию 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,

Другие вопросы по тегам