Search code examples
python-sphinxpython-3.5

How to make Sphinx show Python 3 typing type hints next to the argument description instead of on the function signature?


I am generating a HTML documentation of a Python 3 module automatically from its reStructuredText docstrings of its functions by using Sphinx (make HTML). The generated HTML documentation looks fine so far, but the parameter types of the function signatures, which are given in the source code as PEP484 type hints aren't shown correctly.

E.g. this is some example output from the Sphinx-generated HTML doc of one of my functions:

static parse_from_file(filename: str) → list
    Parses stuff from a text file.

    Parameters:  filename – the filepath of a textfile to be parsed
    Returns:     list of parsed elements

This is what I would expect it to look like:

static parse_from_file(filename)
    Parses stuff from a text file.

    Parameters:  filename (str) – the filepath of a textfile to be parsed
    Returns:     list of parsed elements
    Return type: list

This is how the Python code actually looks like:

def parse_from_file(filename: str) -> list:
    """Parses stuff from a text file.

    :param filename: the filepath of a textfile to be parsed
    :returns: list of parsed elements
    """
    return []

How can I make Sphinx show the Python 3 type hints correctly?


Solution

  • I tackled it on my own by using the sphinx-autodoc-typehints extension.