Source code for genno.compat.sphinx.autodoc_operator

from typing import TYPE_CHECKING, Any

from sphinx.ext.autodoc import FunctionDocumenter

from genno.core.operator import Operator

if TYPE_CHECKING:
    import sphinx.application


[docs] class OperatorDocumenter(FunctionDocumenter):
[docs] @classmethod def can_document_member( cls, member: Any, membername: str, isattr: bool, parent: Any ) -> bool: return isinstance(member, Operator) or super().can_document_member( member, membername, isattr, parent )
[docs] def setup(app: "sphinx.application.Sphinx") -> dict: """Configure :mod:`sphinx.ext.autodoc` to handle :class:`Operator` as functions.""" app.add_autodocumenter(OperatorDocumenter, override=True) return dict(parallel_read_safe=True, parallel_write_safe=True)