Sphinx и argparse - автодокументирование сценариев командной строки?
Я собираю пакет Python и использую Sphinx для создания документов. Помимо кода моего пакета, я также включил в себя множество скриптов Python для командной строки, которые используют argparse. Мне было интересно, есть ли способ заставить Сфинкса автоматически документировать эти скрипты? Конечной целью будет довольно распечатанный список сценариев с соответствующей справкой print, аргументами и параметрами. И чтобы быть ясным, я ищу уже существующий способ сделать это, а не способ реализовать это сам.
Это не такой конкретный вопрос, как я обычно задаю на SO, если есть более подходящий сайт SE для публикации этого вопроса, пожалуйста, дайте мне знать. Благодарю.
3 ответа
Ты можешь использовать sphinxcontrib.programoutput
включить справочные сообщения из командной строки в вашу документацию.
Это не относится к argparse
но может использоваться для документирования любого сценария печати справочных сообщений в командной строке.
Используйте расширение sphinx-argparse:
Ты можешь использовать sphinxcontrib.autoprogram
, pip install sphinxcontrib-autoprogram
, а затем положить
extensions += ['sphinxcontrib.autoprogram']
в вашем conf.py
, Документировать команду cli.py
импортируя cli
с argparse parser
объект parser
(который может быть выражением Python, как функция get_parser()
), используйте
.. autoprogram:: cli:parser
:prog: cli.py