В моем коде у меня есть
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']
и позже
def some_function(..., x=X_DEFAULT, ...):
так что в моей документации Sphinx, используя (например, используя .. autofunction::
и т. д.), я получаю все длинное и громоздкое значение X_DEFAULT
, развернутое в подписи для some_function
:
some_function(..., x=['a', 'long', 'list', 'of', 'values', 'that', 'is', 'действительно' , 'уродливый', 'к', 'видеть', 'сверх', 'и', 'снова', 'снова', 'каждый', 'время', 'это', 'есть', 'упомянутый', ' to', 'in', 'the', 'документация'], ...)
Есть ли способ подавить эту замену в сгенерированной документации, в идеале со ссылкой на определение X_DEFAULT
:
some_function(..., x=X_DEFAULT, ...)
Я знаю, что могу вручную переопределить сигнатуру для каждой функции и метода, которые я явно перечисляю в качестве аргументов директив документации Sphinx, но это не моя цель. Я также знаю, что могу использовать autodoc_docstring_signature
и первую строку строки документации, но это приведет к созданию плохих строк документации, действительно предназначенных для случаев, когда самоанализ терпит неудачу (например, C). Я подозреваю, что могу кое-что сделать в autodoc-process-signature
. это может быть адекватно (но не идеально), хотя я не уверен, как действовать дальше.