Я пишу некоторую документацию, в которой я перечисляю атрибуты, которые объект типа «утка» должен иметь для выполнения определенного интерфейса. Я пытался сделать что-то вроде этого:
List of required attributes:
.. py:attribute:: x
The x-coordinate, as a :py:class:`float`.
.. py:attribute:: y
The y-coordinate, as a :py:class:`float`.
Я ожидаю получить список атрибутов с описаниями, но вместо простых имен документация заканчивается именами, которые содержат предыдущую директиву .. py:currentmodule
. Поэтому вместо x
я получаю my.current.module.x
.
Есть ли способ сделать одно из следующих действий:
- Выключить
.. py:currentmodule::
. Я попытался установить для нее пустую строку, а также .
, но это только сгенерировало предупреждение и продолжало использовать предыдущее значение.
- Настроить сгенерированные имена атрибутов так, чтобы модуль не включался в имя (желательно также в ссылку).
Я бы предпочел вариант № 2, потому что у меня фактически есть ссылки на объекты в текущем модуле в документации, поэтому было бы неплохо пояснить, что эти атрибуты отсутствуют в модуле без фактического изменения текущего модуля.
В настоящее время мой обходной путь - временно установить .. py:currentmodule:: duck
и восстановить после этого сегмента.
Я также пытался написать документацию атрибута как .. py:attribute:: ~x
, .. py:attribute:: !x
и .. py:attribute:: .x
. Во всех случаях используется специальный символ в имени, и первые два не в состоянии создать привязки к атрибутам.