Я хотел бы задокументировать атрибут модуля, который содержит вызываемый объект, а точнее тип. Этот атрибут предназначен для хранения некоторого типа, а не для псевдонима типа.
Когда я документирую атрибут, Sphinx отображает сигнатуру вызова для типа, связанного с ним по умолчанию.
Я бы хотел, чтобы он просто отображал тип.
Итак, я сделал несколько копал и создал это MWE. Кажется, это сводится к двум факторам: использование autodoc-typehints
и наличие параметра с подсказкой типа в конструкторе класса. Удаление любого из них дает правильную форму, указанную выше.
# package.py
class Foo:
def __init__(self, baz: int):
pass
bar_type = Foo
# documentation
.. currentmodule:: package
.. autoclass:: Foo
.. autodata:: bar_type
# Sphinx conf.py
extensions = [
'sphinx.ext.autodoc',
'sphinx_autodoc_typehints',
]
Я использую autodoc-typehints
по другим причинам, поэтому мне было бы трудно избавиться от него. Как я мог не показывать подпись в bar_type
?