¿Puedo suprimir la expansión de variables en la documentación de Sphinx?
En mi codigo tengo
X_DEFAULT = ['a', 'long', 'list', 'of', 'values', 'that', 'is', 'really', 'ugly', 'to', 'see', 'over', 'and', 'over', 'again', 'every', 'time', 'it', 'is', 'referred', 'to', 'in', 'the', 'documentation']
y después
def some_function(..., x=X_DEFAULT, ...):
de modo que en mi documentación de Sphinx, usando (por ejemplo, usando.. autofunction::
, etc.) Recibo todo el valor largo y difícil de manejarX_DEFAULT
ampliado en la firma parasome_function
:
alguna_función(..., x = ['a', 'long', 'list', 'of', 'values', 'that', 'is', 'really', 'feo', 'to', 'see' , 'sobre', 'y', 'sobre', 'otra vez', 'cada', 'tiempo', 'it', 'es', 'referido', 'a', 'en', 'el', ' documentación '], ...)
¿Hay alguna manera de suprimir esta sustitución en la documentación generada, idealmente con un enlace a la definición deX_DEFAULT
:
alguna_función(..., x =X_DEFAULT...)
Soy consciente de que puedo anular manualmente la firma de cada función y método que enumero explícitamente como argumentos a las directivas de documentación de Sphinx, pero ese no es mi objetivo aquí. También soy consciente de que podría usarautodoc_docstring_signature
y la primera línea de la cadena de documentación, pero eso produciría cadenas de documentación malas, realmente destinadas a casos en los que falla la introspección (como C). Sospecho que hay algo que podría hacer enautodoc-process-signature
eso podría ser adecuado (pero no perfecto), aunque no estoy seguro de cómo proceder.