Можно ли иметь список параметров в sphinx.ext.napoleon?

Я использую расширение autodoc sphinx вместе с sphinx.ext.napoleon. Я следую руководству по стилю numpydoc, так как считаю его более читабельным, чем руководство Google. Однако я заметил следующую проблему, которую не смог исправить.

У меня следующий вопрос. Можно ли разрешить в разделе параметров (или возврата и т. Д.) Иметь список? Я хотел бы иметь что-то вроде:

ОБНОВЛЕНИЕ Я удалил некоторые начальные проблемы в соответствии с ответом Стива Пирси. Вот файл python:

class Test:

def f(param_1, param_2):

    r"""
    This is a test docstring.

    Parameters
    ----------
    param_1 : pandas data frame
        This would be really cool to allow the following list and make
        it more readable:

        * **index:** Array-like, integer valued representing
          days. Has to be sorted and increasing.
        * **dtype:** float64. Value of temperature.
        * **columns:** location description, e.g. 'San Diego'
    param_2 : int
        nice number!
    """
    pass

К сожалению, это по-прежнему приводит к тому, что шрифт "Это будет..." слишком большой и не помещается рядом с param_1 что касается param_2:

Если я удаляю список маркеров, я получаю правильно выглядящий вывод. Изменение вышеуказанного кода на:

class Test:

    def f(param_1, param_2):

        r"""
        This is a test docstring.

        Parameters
        ----------
        param_1 : pandas data frame
            This would be really cool to allow the following list and make
            it more readable: **index:** Array-like, integer valued representing
            days. Has to be sorted and increasing. **dtype:** float64. Value of temperature.
            **columns:** location description, e.g. 'San Diego'
        param_2 : int
            nice number!
        """
        pass

что приводит к следующему правильному выводу:

Файл.rst для генерации документации просто:

.. automethod:: test.Test.f

Если я использую numpydoc вместо sphinx.ext.napleon, похоже, я получаю правильный вывод:

по крайней мере, шрифт "pandas data frame" и "This...." одинаков. Однако я бы предпочел стиль наполеона, где все меньше и в начале нет серой линии.

И, наконец, удаление пустой строки перед точками с маркерами не помогает. Это делает это хуже:

1 ответ

Похоже, вы не следуете примеру строк документации Python стиля NumPy.

  • Параметры не должны содержать пробелов в своих именах.
  • Тип Python должен быть действительным (я не уверен насчет "фрейма данных панд")
  • Там не должно быть пустой строки выше param 2
Другие вопросы по тегам