Как задокументировать связываемые константы с помощью sphinx - PullRequest
0 голосов
/ 13 июня 2018

Как правильно документировать константу, скажем, foo = 4 в Python (3) Code с помощью Sphinx таким образом, чтобы я мог получить к ним что-то вроде: attr: `foo`?

Myтекущим решением будет создание класса и перемещение констант в свойства:

class Constants:
    @property
    def foo(self):
        """Cool Documentation."""
        return 4

Затем добавьте в файл classes.rst:

..autoclass:: Constants
   :members:

Однако это не должно быть правильным способомсделайте это, так как это вынуждает меня носить с собой экземпляр Constants в моем коде.

На случай, если это имеет значение: я использую стиль Numpy

1 Ответ

0 голосов
/ 14 июня 2018

Я нашел разумное решение для моей проблемы.Я добавил файл constants.py

    #: :obj:`int` : 
    #: Cool documentation about foo
    foo = 4

и к classes.rst добавил строки

    .. automodule:: MODULE_WHERE_THE_FILE_IS_IN.constants
        :members:

Это создает документацию по константе foo, и я могу создать ссылку на foo с:

    :const:`MODULE_WHERE_THE_FILE_IS_IN.constants.foo`

или

    :const:`~MODULE_WHERE_THE_FILE_IS_IN.constants.foo`
...