Sphinx – Как документировать подкласс param.ParameterizedPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Sphinx – Как документировать подкласс param.Parameterized

Сообщение Anonymous »

Одним из основных преимуществ param является упрощение кодовой базы.
Давайте рассмотрим этот игрушечный класс:

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

import param

class A(param.Parameterized):
"""This is my docstring.
"""

a = param.Boolean(True, doc="some docstring for parameter a")
b = param.Number(1, bounds=(-10, 10), doc="some docstring for parameter b")
c = param.Boolean(False, readonly=True, doc="some docstring for parameter c")

def __init__(self, a, b, **kwargs):
super().__init__(a=a, b=b, **kwargs)

def my_method(self):
"my method docstring"
pass
Во время работы над Jupyter Notebook я могу прочитать строку документации класса с помощью: что выводит:

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

Init signature: A(a, b, **kwargs)
Docstring:
This is my docstring.

Parameters of 'A'
=================

Parameters changed from their default values are marked in red.
Soft bound values are marked in cyan.
C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None

Name Value    Type     Bounds   Mode

a    True  Boolean             V RW
b     1     Number  (-10, 10)  V RW
c   False  Boolean             C RO

Parameter docstrings:
=====================

a: some docstring for parameter a
b: some docstring for parameter b
c: some docstring for parameter c
Type:           ParameterizedMetaclass
Subclasses:
Это здорово, потому что мы можем сразу понять, какие параметры доступны и что они должны делать.
Однако нам может потребоваться создать HTML-документация (со Sphinx) модуля, содержащего подклассы param.Parameterized. До сих пор я пробовал Sphinx autodoc. В файле my_module.rst я написал:

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

.. module:: my_module

.. autoclass:: A

..     autoattribute:: my_module.A.a
..     autoattribute:: my_module.A.b
..     autoattribute:: my_module.A.c
..     autofunction:: my_module.A.my_method
Однако autoattribute не может извлечь строку документации из параметров.
Для людей, регулярно использующих param, как вы создаете html-документацию своих приложений/модулей? Есть ли способ заставить autodoc извлечь эту строку документации? Или существуют ли какие-либо расширения Sphinx, которые помогают обрабатывать подклассы param.Parameterized?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ameterized
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Sphinx – Как документировать подкласс param.Parameterized
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Что делает Param chunk_size Param Langchain.
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как мне документировать константы Python, чтобы они отражались в Intellisense и Sphinx?
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Почему версии sphinx-build и sphinx в моей ОС различаются?
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Как заставить подкласс иметь определенный подкласс со свойством суперкласса?
    Anonymous » » в форуме C#
    0 Ответы
    51 Просмотры
    Последнее сообщение Anonymous

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