Autodata: документируйте вызываемый объект без подписи с помощью autodo c -typehints - PullRequest
0 голосов
/ 07 мая 2020

Я хотел бы задокументировать атрибут модуля, который содержит вызываемый объект, а точнее тип. Этот атрибут предназначен для хранения некоторого типа, а не для псевдонима типа.

Когда я документирую атрибут, Sphinx отображает сигнатуру вызова для типа, связанного с ним по умолчанию.

Example 1

Я бы хотел, чтобы он просто отображал тип.

Example 2

Итак, я сделал несколько копал и создал это 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?

...