Документирование публичных глобальных функций с помощью epydoc

1

У меня есть модуль, содержащий несколько глобальных функций и глобальную переменную. Переменная и некоторые из функций следуют за соглашением об именах 'private' для Python с лидирующим подчеркиванием для имени. Другие функции должны быть общедоступными и не иметь главного подчеркивания.

Я объявил __all__ со списком имен публичных функций в начале моего файла.

При попытке создать документацию для этого модуля с помощью epydoc epydoc рассматривает все в модуле как личное. И поскольку я использую флаг --no-private, это означает, что на выходе отображается только документация самого модуля, а не элементы модуля или их отдельная документация.

Если я не использую флаг --no-private с epydoc, все документируется. Но я не хочу, чтобы там были личные вещи. Здесь кикер: если я прокомментирую мой __all__, epydoc правильно документирует только публичные элементы моего модуля.

Я относительный новичок Python, но, как я понимаю, __all__ предназначен для того, чтобы вы не попали в неприятности, когда импортируете другие модули, а затем импортируете другие модули и пытаетесь сохранить более плотную крышку на вещи когда все становится общедоступным, если вы знаете имя того, к чему вы пытаетесь получить доступ. Опускание __all__ может привести к Bad Things , или, как мне сказали. В то же время epydoc претендует на права и налево, что он чтит __all__ за то, что открыто, а что нет.

Я полагаю, что я неправильно использую epydoc, ошибочно предполагая использование __all__ в моем коде или ошибку в epydoc? (Я уже разрешил ошибку ошибки обработки в epydoc, которая, по-видимому, вызвана более новыми версиями docutils.)

Теги:
documentation-generation
epydoc

1 ответ

3
Лучший ответ

Эта проблема исчезает при использовании epydoc для документирования нескольких файлов. Кажется, это ошибка в epydoc, но она легко работала, пока у вас есть реальный пакет для документирования, а не один модуль.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню