如何在sphinx文档中自动添加参数类型

时间:2018-03-28 17:23:29

标签: python python-sphinx type-hinting sphinx-napoleon sphinx-apidoc

我目前正在尝试使用Sphinx实现自动文档创建(使用扩展名sphinx-apidoc和napoleon)。这种方法效果很好,但如果将类型提示(PEP484约定)自动添加到参数列表中,它会更好。

我想知道这是否可行。

更具体地说:(来自napoleon example

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.

    """

呈现如下:

enter image description here

参数列表包含所有参数,但不附加类型。可以手动添加它们,但是当决定更改签名时,这可能会引入未来的问题。

手动添加类型的示例:

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.

    """

呈现为:

enter image description here

1 个答案:

答案 0 :(得分:3)

您现在可以使用sphinx-autodoc-typehints扩展名。在上面的上一个示例中编写时,它将自动将类型添加到sphinx文档字符串中。

要安装,只需执行 $ pip install sphinx-autodoc-typehints

'sphinx_autodoc_typehints'添加到extensions后{strong> conf.py的{​​{1}}的{​​{1}}列表中,并确保还将'sphinx.ext.napoleon'添加到{ {1}}。