В Sphinx, как включить строки документации / комментарии, расположенные в модуле, но вне класса и методов

У меня есть utils Модуль в моей упаковке. Он состоит из нескольких разных методов, которые не требуют реализации.

Я хотел бы разместить некоторые общие комментарии / документацию внутри этого utils файл, такой как:

import os
import json

"""
Miscellaneous methods that help in <<blah blah>>
Does not require explicit instantiation.

The following actions can be performed:
===============   ===============
Action            Method
===============   ===============
Get a             :meth:`methoda`
Get b             :meth:`methodb`
"""

def methoda(data):
    "Gets A ..."
    ...

def methodb(data):
    "Gets B ..."
    ...

Как видно выше, в строке документации есть таблица, содержащая ссылки на отдельные методы. В настоящее время мой index.rst имеет эту часть, чтобы включить utils:

Utilities
============
.. automodule:: packagename.utils
   :members:

В настоящее время я получаю строки документации отдельных методов, правильно отображаемые в документации, но не строку документации верхнего уровня модуля (вне какого-либо класса или метода). Каков наилучший способ, чтобы сфинкс включал в себя все вышеперечисленное?

Одним из вариантов может быть перемещение строки документации верхнего уровня за пределы этого файла, например: index.rst и т. д. Но я бы предпочел не делать этого и сохранить его в исходном файле.

1 ответ

Решение

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

Для дальнейшего использования другими пользователями я в основном переместил строки документации в начало файла:

"""
Miscellaneous methods that help in <<blah blah>>
Does not require explicit instantiation.

The following actions can be performed:
===============   ===============
Action            Method
===============   ===============
Get a             :meth:`methoda`
Get b             :meth:`methodb`
"""

import os
import json

def methoda(data):
    "Gets A ..."
    ...

def methodb(data):
    "Gets B ..."
    ...

И это все! Все работает.

Другие вопросы по тегам