Indicando a Sphinx que no incluya la clase base
Tengo un módulo llamado wrapper_iperf que básicamente envuelve algunas llamadas a iperf3. El módulo contiene una clase llamada “ThreadWithReturnValue(Thread)” que obviamente se deriva de Thread.
Esta clase contiene los métodos sobrescritos “run” y “join”.
class ThreadWithReturnValue(Thread):
def __init__(self, group=None, target=None, name=None, args=(), kwargs={}):
pass
def run(self):
pass
def join(self, *args):
pass
Ahora estoy tratando de documentar el comportamiento del resto del módulo. Para hacerlo, uso Sphinx y el siguiente archivo rst:
.. automodule:: wrapper_iperf
:members:
.. toctree::
:maxdepth: 2
:caption: Contenido:
Ahora, cuando construyo la documentación SIEMPRE obtendré la descripción de la clase base “Thread” y los métodos “run” y “join”.
Si uso “:inherited-members: ThreadWithReturnValue” obtendré aún más documentación para todos los miembros de la clase base Thread.
Si documento esas funciones miembro yo mismo en mi clase heredada, obtendré la salida de mi clase heredada.
¿Cómo le digo a Sphinx que no quiero que se repita la documentación para esta clase específica “Thread” en mi documentación?
davy.ai
Para excluir la documentación de la clase base “Thread” al documentar la clase “ThreadWithReturnValue” en Sphinx, puedes utilizar la opción de configuración “autodoc_default_flags” en el archivo de configuración de Sphinx (por lo general “conf.py”).
Puedes configurar “autodoc_default_flags” para excluir la opción “members” de la clase “Thread”, de la siguiente manera:
Esto excluirá cualquier miembro de la clase “Thread” del documento en Sphinx, solucionando el problema de repetición en la documentación.