Как заставить атрибут sphinx для autodoc "элементы" в TypedDict?Python

Программы на Python
Anonymous
 Как заставить атрибут sphinx для autodoc "элементы" в TypedDict?

Сообщение Anonymous »

У меня есть пользовательский тип, определенный следующим образом: < /p>

Код: Выделить всё

custom_type.py

Код: Выделить всё

from typing import TypedDict

class CustomDict(TypedDict):
"""A custom type definition"""
items: list[_AnotherCustomDict]
"""The items."""
< /code>
И мой источник документации выглядит следующим образом: < /p>
custom_type.rst

Код: Выделить всё

.. autoclass:: CustomDict
:members:
:member-order: bysource
:show-inheritance:
Но когда я запускаю, создавать html , полученная документация не включает атрибут элементов .
Я попытался изменить источник документации на: < /p>

Код: Выделить всё

custom_type.rst

Код: Выделить всё

.. autoclass:: CustomDict
:members: items
:member-order: bysource
:show-inheritance:
Но в результате полученной документации перечислены элементы () с описанием, поступающим из метода DICT . Я думаю, что понимаю, почему это происходит: потому что DICT уже имеет метод .items () , и вы не можете использовать одно и то же имя как в атрибуте, так и в методе. /> Я также пытался использовать синтаксис альтернативного экземпляра для моего пользовательского типа, то есть < /p>

Код: Выделить всё

custom_type.py

Код: Выделить всё

#: A custom type definition
CustomDict = TypedDict('CustomDict', {
'items': list[_AnotherCustomDict], #: The items.
})
Но элементы все еще не задокументированы.
К сожалению, я не могу изменить элементы на имя на Что -то еще, потому что это определено как таковое в стороннем API, которое я потребляю. Я действительно хотел бы не переименовать элементы до чего-то еще только ради документации. Atements атрибут?
my config: python 3.13, sphinx 8.1.3

Подробнее здесь: https://stackoverflow.com/questions/793 ... -typeddict

Вернуться в «Python»