Repolode
mkdocstrings

mkdocstrings/griffe

Инструмент для Python, который извлекает структуру и сигнатуры пакета, чтобы генерировать API-документацию или выявлять несовместимые изменения API.

Звёзды
704
Форки
81
Открытые issues
41
Последний коммит
15 дней назад

Что это?

Griffe загружает Python-пакеты и строит структурированное представление их модулей, классов, функций и сигнатур, не выполняя код. Результат можно сериализовать в JSON или просматривать из Python, поэтому его удобно использовать как источник данных для генераторов документации.

Интерфейс командной строки предоставляет две основные команды. `griffe dump` экспортирует API одного или нескольких пакетов в JSON, а `griffe check` сравнивает текущий код с предыдущей версией и сообщает о несовместимых изменениях, например об изменении видов параметров. Базовую версию можно загрузить из git ref или опубликованного релиза на PyPI; также поддерживаются `src`-структуры каталогов.

Griffe можно установить с помощью pip или uv. Его Python API предоставляет `load`, `load_git` и `find_breaking_changes` для автоматизации проверок и создания собственных инструментов.

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

  • 01Статически извлекает структуру и сигнатуры Python-пакетов.
  • 02Экспортирует API в JSON с помощью `griffe dump`.
  • 03Выявляет несовместимые изменения с помощью `griffe check`, в том числе при сравнении с git refs.
  • 04Поддерживает сравнение с релизами, загруженными с PyPI, при установке extra `pypi`.
  • 05Предоставляет Python API для загрузки пакетов и поиска несовместимых изменений.

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

  • Генерация справочной документации по API библиотеки на Python.
  • Выявление случайных изменений сигнатур в CI до выпуска релиза.
  • Сравнение нового релиза с предыдущей версией на PyPI.
  • Создание собственных инструментов для анализа публичного API кодовой базы.

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

  1. 1

    Установите Griffe с помощью pip

    pip install griffe
  2. 2

    Выгрузите API пакета в формате JSON

    griffe dump httpx fastapi
  3. 3

    Проверьте, содержит ли пакет несовместимые изменения API

    griffe check mypackage --verbose

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

  • Для проверки пакетов из PyPI требуется дополнительный компонент pypi (extra).

Темы

#python#api-documentation#breaking-changes#static-analysis#developer-tools#docs#api#mkdocstrings-collector#parser#signature

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

Что такое griffe?
Инструмент для Python, который извлекает структуру и сигнатуры пакета, чтобы генерировать API-документацию или выявлять несовместимые изменения API. Griffe загружает Python-пакеты и строит структурированное представление их модулей, классов, функций и сигнатур, не выполняя код. Результат можно сериализовать в JSON или просматривать из Python, поэтому его удобно использовать как источник данных для генераторов документации.
griffe можно использовать бесплатно? Какая у него лицензия?
griffe распространяется с открытым исходным кодом под лицензией ISC. Перед использованием в коммерческих продуктах проверьте условия лицензии.
griffe всё ещё поддерживается?
Активно поддерживается. Последний коммит в griffe — 23 окт. 2026 г..
Для чего можно использовать griffe?
Генерация справочной документации по API библиотеки на Python. Выявление случайных изменений сигнатур в CI до выпуска релиза. Сравнение нового релиза с предыдущей версией на PyPI. Создание собственных инструментов для анализа публичного API кодовой базы.
Как установить griffe?
Установите Griffe с помощью pip: pip install griffe Выгрузите API пакета в формате JSON: griffe dump httpx fastapi Проверьте, содержит ли пакет несовместимые изменения API: griffe check mypackage --verbose
Где скачать griffe?
Исходный код и инструкции по установке — на GitHub: https://github.com/mkdocstrings/griffe

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

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

Набор инструментов с открытым исходным кодом для OpenAPI/Swagger: интерактивная справка по API, API-клиент с приоритетом работы офлайн и интеграции со многими веб-фреймворками.

16,4 тыс.+31 за неделю966TypeScriptMITОбновлён 12 часов назад