Sphinx и argparse - автодокументирование сценариев командной строки?

Я собираю пакет Python и использую Sphinx для создания документов. Помимо кода моего пакета, я также включил в себя множество скриптов Python для командной строки, которые используют argparse. Мне было интересно, есть ли способ заставить Сфинкса автоматически документировать эти скрипты? Конечной целью будет довольно распечатанный список сценариев с соответствующей справкой print, аргументами и параметрами. И чтобы быть ясным, я ищу уже существующий способ сделать это, а не способ реализовать это сам.

Это не такой конкретный вопрос, как я обычно задаю на SO, если есть более подходящий сайт SE для публикации этого вопроса, пожалуйста, дайте мне знать. Благодарю.

3 ответа

Решение

Ты можешь использовать sphinxcontrib.programoutput включить справочные сообщения из командной строки в вашу документацию.

Это не относится к argparse но может использоваться для документирования любого сценария печати справочных сообщений в командной строке.

Используйте расширение sphinx-argparse:

http://sphinx-argparse.readthedocs.org/en/latest/

Ты можешь использовать 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
Другие вопросы по тегам