Skip to main content

DocProtocol

ClassDataClassSource

DocProtocol(
name: str,
descr: str,
init_func: DocFunction = _default_init(),
init_func_specified: bool = True,
methods: list[DocFunction] = [],
properties: list[DocProp] = [],
operators: list[DocOpTemplate] = [],
abstract_attrs: DocClassAbstractAttrs | None = None,
slang: str = "",
lineno: int = 0,
type: Literal["protocol"] = "protocol"
)

The docstring and basic information of a protocol (typing class).

The protocol is a specialized abstract class. However, it does not provide functionalities in run time but only used during the type checking. The serialized information is rendered differenly compared to regular classes.

Fields

NameTypeRequired
Description
namestrThe name of the class.
descrstrThe description body of the class.
init_funcDocFunctionThe initialization function of the class.
init_func_specifiedboolA flag. When it is on, it means that the initialization function has been defined by user.
methodslist[DocFunction]The list of methods of this class.
propertieslist[DocProp]The list of properties of this class.
operatorslist[DocOpTemplate]The list of operators of this class.
abstract_attrsDocClassAbstractAttrs | NoneAdditional abstract attributes. Will present only when the class is abstract. For the protocols, this value will be always None.
slangstrThe internal code identifying this class.
linenointThe line number where the class is defined. If the number is unknown, this value will be 0.
typeLiteral["protocol"]The identifier of this documentation item.

Methods

as_md_text

v_1: str = self.as_md_text(renderer: ProtocolComponent)

Render as Markdown text.

Requires

NameTypeRequired
Description
rendererProtocolComponentThe renderer providing component rendering.

Returns

NameType
Description
v_1strThe Markdown text rendered from the protocol class.