Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Griffe

ci documentation pypi version gitter radicle

Griffe logo, created by François Rozet

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."

Installation

pip install griffe

With uv:

uv tool install griffe

Usage

Dump JSON-serialized API

On the command line, pass the names of packages to the griffe dump command:

$ griffe dump httpx fastapi { "httpx": { "name": "httpx", ... }, "fastapi": { "name": "fastapi", ... } }

See the Serializing chapter for more examples.

Check for API breaking changes

Pass a relative path to the griffe check command:

$ griffe check mypackage --verbose mypackage/mymodule.py:10: MyClass.mymethod(myparam): Parameter kind was changed: Old: positional or keyword New: keyword-only

For src layouts:

$ griffe check --search src mypackage --verbose src/mypackage/mymodule.py:10: MyClass.mymethod(myparam): Parameter kind was changed: Old: positional or keyword New: keyword-only

It's also possible to directly check packages from PyPI.org (or other indexes configured through PIP_INDEX_URL). This feature requires that you install Griffe with the pypi extra:

pip install griffe[pypi]

The command syntax is:

griffe check package_name -b project-name==2.0 -a project-name==1.0

See the Checking chapter for more examples.

Load and navigate data with Python

With Python, loading a package:

import griffe fastapi = griffe.load("fastapi")

Finding breaking changes:

import griffe previous = griffe.load_git("mypackage", ref="0.2.0") current = griffe.load("mypackage") for breakage in griffe.find_breaking_changes(previous, current): ...

See the Loading chapter for more examples.

Sponsors

Silver sponsors

FastAPI

Bronze sponsors

Nixtla


ofek samuelcolvin tlambert03 ssbarnea femtomc cmarqu kolenaIO ramnes machow BenHammersley trevorWieland MarcoGorelli analog-cbarber OdinManiac rstudio-sponsorship schlich butterlyn livingbio NemetschekAllplan EricJayHartman 15r10nk activeloopai roboflow cmclaughlin blaisep RapidataAI rodolphebarbanneau theSymbolSyndicate blakeNaccarato ChargeStorm Alphadelta14 Cusp-AI

And 7 more private sponsor(s).

关于 About

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.
apibreaking-changesdocsmkdocstrings-collectorparserpythonsignature

语言 Languages

Python99.9%
Makefile0.1%
Shell0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
159
Total Commits
峰值: 17次/周
Less
More

核心贡献者 Contributors