Платформа для самостоятельного развертывания, которая анализирует проекты на наличие ошибок, уязвимостей и проблем с поддерживаемостью и применяет Quality Gates в CI-пайплайнах.
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
Установите interrogate из PyPI с помощью pip
pip install interrogate - 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 обновляется ежедневно.
Похожие проекты
Линтер Swift с более чем 200 настраиваемыми для каждого проекта правилами стиля и соглашений.
Инструмент командной строки для Python, который автоматически форматирует docstring по соглашениям PEP 257.
Мутационное тестирование Ruby: изменяет код и показывает, какие изменения ваш набор тестов не обнаруживает.
Офлайн-линтер прозы для командных правил стиля: работает в редакторах, CI и коде.
Локальный детерминированный инструмент для поиска дублирующегося кода: находит скопированные AI-агентами функции, даже если идентификаторы в них переименованы.