Repolode
econchick

econchick/interrogate

CLI для Python, который измеряет долю функций, классов, методов и модулей с docstring и поддерживает пороговые условия для CI.

Звёзды
678
Форки
58
Открытые issues
42
Последний коммит
4 дня назад

Что это?

interrogate сканирует исходный код на Python и показывает, у каких модулей, классов, методов и функций есть docstring, а у каких нет. Он рассчитывает покрытие в процентах для проекта, файла или отдельного объекта, чтобы команды могли оценить, насколько хорошо задокументирован код и где есть пробелы.

Инструмент предназначен не только для отчётов, но и для контроля. Если покрытие ниже заданного порога (по умолчанию 80%, настраивается через --fail-under), он завершается с ошибкой. Поэтому его удобно добавлять в CI-пайплайны и pre-commit hooks, чтобы новый код обязательно сопровождался документацией. Доступны сводная таблица, подробный отчёт по каждому объекту и тихий режим для скриптов.

Поведение настраивается через pyproject.toml или setup.cfg. Можно исключить отдельные категории объектов, например методы __init__, магические методы, приватные или вложенные объекты, сеттеры и функции @overload, задать исключаемые пути и фильтровать имена регулярными выражениями. Также поддерживаются стили docstring Sphinx и Google, а ещё можно сгенерировать бейдж покрытия в стиле shields.io в формате SVG или PNG. Поддерживается Python 3.8 и выше.

Ключевые возможности

  • 01Показывает покрытие docstring для модулей, классов, методов и функций.
  • 02Завершает работу с ошибкой, если покрытие ниже настраиваемого порога; подходит для CI.
  • 03Предлагает сводный, подробный и тихий режимы вывода.
  • 04Позволяет игнорировать выбранные типы объектов, например магические методы, приватные и вложенные объекты.
  • 05Поддерживает стили docstring Sphinx и Google.
  • 06Генерирует бейджи покрытия в стиле shields.io в формате SVG или PNG.

Сценарии использования

  • Контроль наличия docstring в новом коде с помощью CI-задачи или pre-commit hook.
  • Оценка качества документации в незнакомом проекте на Python.
  • Добавление бейджа покрытия документацией в README проекта.
  • Отслеживание пробелов в документации по файлам при её улучшении.

Быстрый старт

  1. 1

    Установите interrogate из PyPI с помощью pip

    pip install interrogate
  2. 2

    Запустите interrogate для пути к проекту на Python, чтобы проверить покрытие docstring

    interrogate [PATH]

Что важно знать

  • Проверяется только наличие docstring, но не их качество.
  • Для создания PNG-бейджей требуются дополнительные системные библиотеки, например cairo.

В подборках

Темы

Частые вопросы

Что такое interrogate?
CLI для Python, который измеряет долю функций, классов, методов и модулей с docstring и поддерживает пороговые условия для CI. interrogate сканирует исходный код на Python и показывает, у каких модулей, классов, методов и функций есть docstring, а у каких нет. Он рассчитывает покрытие в процентах для проекта, файла или отдельного объекта, чтобы команды могли оценить, насколько хорошо задокументирован код и где есть пробелы.
interrogate можно использовать бесплатно? Какая у него лицензия?
interrogate распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
interrogate всё ещё поддерживается?
Активно поддерживается. Последний коммит в interrogate — 2 нояб. 2026 г..
Для чего можно использовать interrogate?
Контроль наличия docstring в новом коде с помощью CI-задачи или pre-commit hook. Оценка качества документации в незнакомом проекте на Python. Добавление бейджа покрытия документацией в README проекта. Отслеживание пробелов в документации по файлам при её улучшении.
Как установить interrogate?
Установите interrogate из PyPI с помощью pip: pip install interrogate Запустите interrogate для пути к проекту на Python, чтобы проверить покрытие docstring: interrogate [PATH]
Где скачать interrogate?
Исходный код и инструкции по установке — на GitHub: https://github.com/econchick/interrogate

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Платформа для самостоятельного развертывания, которая анализирует проекты на наличие ошибок, уязвимостей и проблем с поддерживаемостью и применяет Quality Gates в CI-пайплайнах.

11,2 тыс.+28 за неделю2,2 тыс.JavaLGPL-3.0Обновлён позавчера

Мутационное тестирование Ruby: изменяет код и показывает, какие изменения ваш набор тестов не обнаруживает.

2,2 тыс.162RubyOtherАктивно поддерживаетсяОбновлён 5 дней назад

Локальный детерминированный инструмент для поиска дублирующегося кода: находит скопированные AI-агентами функции, даже если идентификаторы в них переименованы.

102+2 за неделю10RustMITОбновлён 2 месяца назад