usage parser mutually metavar float exclusive example argumentparser argument add_argument python documentation python-sphinx argparse

python - parser - Sphinx y argparse-autodocumentar los scripts de línea de comandos?



parser python example (3)

Estoy creando un paquete de Python y usando Sphinx para crear los documentos. Aparte de mi código de paquete, también incluyo una gran cantidad de scripts de Python de línea de comandos, que usan argparse. Me preguntaba si hay una forma de que Sphinx autodocumentara estos scripts. El objetivo final sería una lista bastante impresa de scripts, con la ayuda asociada, impresión, argumentos y opciones. Y para ser claros, estoy buscando una forma preexistente de hacer esto, no una forma de implementarlo yo mismo.

Esto no es tan específico de una pregunta como normalmente pregunto en SO, si hay un sitio SE más apropiado para publicar esta pregunta, por favor avíseme. Gracias.


Puede utilizar sphinxcontrib.autoprogram . pip install sphinxcontrib-autoprogram , luego poner

extensions += [''sphinxcontrib.autoprogram'']

en tu conf.py Para documentar el comando cli.py importando cli con el parser objetos del parser argparse (que puede ser una expresión de Python, como una función get_parser() ), use

.. autoprogram:: cli:parser :prog: cli.py



Puede usar sphinxcontrib.programoutput para incluir los mensajes de ayuda desde la línea de comandos en su documentación.

Esto no es específico de argparse pero se puede usar para documentar cualquier mensaje de ayuda de impresión de script en la línea de comandos.