griffe
Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API.
Install
griffe on PyPI
pip
pip install griffeuv
uv add griffepoetry
poetry add griffePackage facts
| License | ISC (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — griffecli, griffelib |
| Maintenance | actively maintained — 55 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: griffe-2.1.0-py3-none-any.whl
Keywords: api, breaking-changes, dynamic-analysis, signature, static-analysis
About griffe
from the package's own PyPI description — quoted content, verbatim
Griffe
ci (image) documentation (image) pypi version (image) gitter (image) radicle (image)
<img src="https://raw.githubusercontent.com/mkdocstrings/griffe/main/logo.svg" alt="Griffe logo, created by François Rozet" width="200" align="right">
Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API.
Griffe, pronounced "grif" (/ɡʁif/), is a french word that means "claw",
but also "signature" in a familiar way. "On reconnaît bien là sa griffe."
- [User...
Read as markdown · JSON record · Source repository · Homepage · Docs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Griffe extracts the structure and signatures of Python programs to generate API documentation and detect breaking changes in your API.
Low friction: pure Python wheel with minimal runtime dependencies (griffecli, griffelib). Active maintenance with a recent release 55 days ago and ongoing repository activity.
ISC permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Usage
pip install griffe
import griffe
fastapi = griffe.load("fastapi")
for breakage in griffe.find_breaking_changes(griffe.load_git("mypackage", ref="0.2.0"), griffe.load("mypackage")):
print(breakage)
Requires Python 3.10 or later. Optional `pypi` extra needed to check packages directly from PyPI.
Verdict: Griffe is a production-ready, actively maintained tool for Python API introspection and breaking-change detection. It installs cleanly with no friction, carries an ISC permissive license, and has no known vulnerabilities. Suitable for documentation generation pipelines and API compatibility testing.
Needs verification
- Whether griffecli and griffelib are internal submodules or separate packages affecting actual install complexity
- Performance characteristics when analyzing large or complex Python projects
Similar packages
permissive · top 100 on PyPI
browser-usepermissive · top 1,000 on PyPI
annotated-docpermissive · top 100 on PyPI
typerpermissive · top 1,000 on PyPI
openai-agentspermissive · top 1,000 on PyPI
duckdbpermissive · top 1,000 on PyPI
hatchlingpermissive · top 100 on PyPI
userpathpermissive · top 1,000 on PyPI
banditpermissive · top 1,000 on PyPI
pdfminer.sixpermissive · top 1,000 on PyPI