El uso de la esfinge para auto-documento de una clase Python, el módulo
-
19-09-2019 - |
Pregunta
He instalado Sphinx con el fin de documentar algunos módulos de Python y la clase que estoy trabajando. Mientras que el lenguaje de marcado se ve muy bien, no he logrado auto-documento un código Python.
Básicamente, tengo el siguiente módulo de Python:
SegLib.py
Y una clase llamada Seg
en ella. Me gustaría mostrar las cadenas de documentación de la clase y el módulo dentro del documento esfinge generado, y añadir texto con formato aún más a él.
Mi index.rst
se ve así:
Contents:
.. toctree::
:maxdepth: 2
chapter1.rst
y chapter1.rst
:
This is a header
================
Some text, *italic text*, **bold text**
* bulleted list. There needs to be a space right after the "*"
* item 2
.. note::
This is a note.
See :class:`Seg`
Pero Seg
solo se imprime en negrita, y no está vinculada a una documentación autogenerada de la clase.
Tratando:
Ver: Clase: Seg
Módulo: mod: 'SegLib'
Módulo: mod: 'SegLib.py'
No ayuda, también. Cualquier idea o buenas conexiones tutorial?
Editar: cambia SegLib a segmentos (gracias, iElectric!), Y cambió chapter1.rst a:
El mod: Módulo segments
--------------------------
.. automodule:: segments.segments
.. autoclass:: segments.segments.Seg
Sin embargo, no puede obtener la esfinge para documentar directamente a funciones dentro de una clase, o mejor - para añadir automáticamente todas las funciones dentro de una clase en el documento. Intentado
.. autofunction:: segments.segments.Seg.sid
y consiguió:
autodoc can't import/find function 'segments.segments.Seg.sid', it reported error: "No module named Seg"
Alguna idea de cómo autodocument las funciones y clases con un comando corto?
Udi
Solución
Añadir a principios del archivo:
.. module:: SegLib
Trate de usar AUTOCLASS:. Directiva de la clase doc
Por cierto:. Nombres de los módulos deben ser lower_case
EDIT: he aprendido mucho de la lectura otros archivos de origen .