Generuję dokumentację HTML modułu Python 3 automatycznie z jego instrukcji reStructuredText jego funkcji za pomocą Sphinx (make HTML). Wygenerowana dokumentacja HTML wygląda do tej pory dobrze, ale typy parametrów sygnatur funkcji, które są podane w kodzie źródłowym jako PEP484 type hints, nie są poprawnie wyświetlane.Python 3: Sphinx nie pokazuje poprawnie podpowiedzi typu
E.g. to jakiś przykład wyjście z Sphinx wygenerowanego dokumentu HTML jednego z moich funkcji:
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
To co by się spodziewać, że aby wyglądać następująco:
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
ten sposób kod Python rzeczywiście wygląda następująco:
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 []
Jak mogę dokonać Sphinx pokazać typ Python 3 wskazówki prawidłowo?
Umieszczenie typów w docstruowaniu nie jest możliwe? ': param str filename: ...' i ': rtype: list' dla typu zwrotu ... – Bakuriu
To spowodowałoby, że jest on zbędny, a ludzie w naszym projekcie nie będą myśleć o zmianie typów dwa razy. Poza tym wygląda na to, że Sphinx obsługuje wskazówki typu PEP484: https://github.com/sphinx-doc/sphinx/issues/1968 –