Omita (o formatee) el valor de una variable al documentar con Sphinx

Actualmente estoy documentando un módulo completo con autodoc . Sin embargo, defino varias variables en el nivel del módulo que contienen listas largas o dictados. Se incluyen en la documentación junto con los valores, y los valores están sin formato, por lo que parece un desastre de 10 líneas. Lo que quiero es que se incluya la cadena de documentación de esas variables, pero que se omitan los valores o, por lo menos, que estén bien formateados.

He intentado excluir la variable de la directiva automodule y agregarla así:

 .. automodule:: foo.bar :members: :exclude-members: longstuff .. py:data:: longstuff 

Esto dio como resultado que solo se incluyera el nombre de la variable, mientras que tanto la cadena de documentación como el valor de longstuff no estaban presentes en la documentación.

¿Cómo puedo mantener la cadena de documentos y deshacerme del valor (o tenerlo bien formateado) al mismo tiempo? Gracias por adelantado.

No hay una configuración de configuración simple para omitir los valores de las variables de nivel de módulo en la salida. Pero puede hacerlo modificando el método DataDocumenter.add_directive_header() en autodoc.py . La línea crucial en ese método es

 self.add_line(u' :annotation: = ' + objrepr, '') 

donde objrepr es el valor.

El siguiente parche de mono añadido a conf.py funciona para mí:

 from sphinx.ext.autodoc import ModuleLevelDocumenter, DataDocumenter def add_directive_header(self, sig): ModuleLevelDocumenter.add_directive_header(self, sig) # Rest of original method ignored DataDocumenter.add_directive_header = add_directive_header