{"id":33234405,"url":"https://mkdocstrings.github.io/griffe/","last_synced_at":"2025-11-21T12:02:14.901Z","repository":{"id":38185366,"uuid":"404879086","full_name":"mkdocstrings/griffe","owner":"mkdocstrings","description":"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.","archived":false,"fork":false,"pushed_at":"2025-11-17T16:58:00.000Z","size":31369,"stargazers_count":566,"open_issues_count":31,"forks_count":62,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-11-17T18:12:21.640Z","etag":null,"topics":["api","breaking-changes","docs","mkdocstrings-collector","parser","python","signature"],"latest_commit_sha":null,"homepage":"https://mkdocstrings.github.io/griffe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mkdocstrings.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"pawamoy","polar":"pawamoy"}},"created_at":"2021-09-09T21:49:44.000Z","updated_at":"2025-11-17T16:57:15.000Z","dependencies_parsed_at":"2023-10-17T01:22:37.318Z","dependency_job_id":"c6d1e67e-d5ee-4a52-ab9a-f839df12e309","html_url":"https://github.com/mkdocstrings/griffe","commit_stats":{"total_commits":868,"total_committers":30,"mean_commits":"28.933333333333334","dds":"0.11059907834101379","last_synced_commit":"58b17425bace2072664fb654ba1077fb404b92dd"},"previous_names":[],"tags_count":148,"template":false,"template_full_name":null,"purl":"pkg:github/mkdocstrings/griffe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdocstrings%2Fgriffe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdocstrings%2Fgriffe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdocstrings%2Fgriffe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdocstrings%2Fgriffe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkdocstrings","download_url":"https://codeload.github.com/mkdocstrings/griffe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdocstrings%2Fgriffe/sbom","scorecard":{"id":9431,"data":{"date":"2025-08-04","repo":{"name":"github.com/mkdocstrings/griffe","commit":"b3cbedb59fab118b81086ee33bdd0745fa70f4a3"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":4.7,"checks":[{"name":"Maintained","score":10,"reason":"25 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Code-Review","score":3,"reason":"Found 10/30 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/release.yml:5","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: ISC License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:118: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:124: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:130: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:142: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/mkdocstrings/griffe/release.yml/main?enable=pin","Info:   0 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 10 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T14:14:15.342Z","repository_id":38185366,"created_at":"2025-08-14T14:14:15.342Z","updated_at":"2025-08-14T14:14:15.342Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285611836,"owners_count":27201484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-21T02:00:06.175Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","breaking-changes","docs","mkdocstrings-collector","parser","python","signature"],"created_at":"2025-11-16T18:00:29.931Z","updated_at":"2025-11-21T12:02:14.891Z","avatar_url":"https://github.com/mkdocstrings.png","language":"Python","readme":"# Griffe\n\n[![ci](https://github.com/mkdocstrings/griffe/workflows/ci/badge.svg)](https://github.com/mkdocstrings/griffe/actions?query=workflow%3Aci)\n[![documentation](https://img.shields.io/badge/docs-mkdocs-708FCC.svg?style=flat)](https://mkdocstrings.github.io/griffe/)\n[![pypi version](https://img.shields.io/pypi/v/griffe.svg)](https://pypi.org/project/griffe/)\n[![gitter](https://img.shields.io/badge/matrix-chat-4db798.svg?style=flat)](https://app.gitter.im/#/room/#mkdocstrings_griffe:gitter.im)\n[![radicle](https://img.shields.io/badge/rad-clone-6666FF.svg?style=flat)](https://app.radicle.at/nodes/seed.radicle.at/rad:z4M5XTPDD4Wh1sm8iPCenF85J3z8Z)\n\n\u003cimg src=\"https://raw.githubusercontent.com/mkdocstrings/griffe/main/logo.svg\" alt=\"Griffe logo, created by François Rozet\" width=\"200\" align=\"right\"\u003e\n\nSignatures 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.\n\nGriffe, pronounced \"grif\" (`/ɡʁif/`), is a french word that means \"claw\",\nbut also \"signature\" in a familiar way. \"On reconnaît bien là sa griffe.\"\n\n- [User guide](https://mkdocstrings.github.io/griffe/guide/users/)\n- [Contributor guide](https://mkdocstrings.github.io/griffe/guide/contributors/)\n- [API reference](https://mkdocstrings.github.io/griffe/reference/api/)\n\n## Installation\n\n```bash\npip install griffe\n```\n\nWith [`uv`](https://docs.astral.sh/uv/):\n\n```bash\nuv tool install griffe\n```\n\n## Usage\n\n### Dump JSON-serialized API\n\n**On the command line**, pass the names of packages to the `griffe dump` command:\n\n```console\n$ griffe dump httpx fastapi\n{\n  \"httpx\": {\n    \"name\": \"httpx\",\n    ...\n  },\n  \"fastapi\": {\n    \"name\": \"fastapi\",\n    ...\n  }\n}\n```\n\nSee the [Serializing chapter](https://mkdocstrings.github.io/griffe/guide/users/serializing/) for more examples.\n\n### Check for API breaking changes\n\nPass a relative path to the `griffe check` command:\n\n```console\n$ griffe check mypackage --verbose\nmypackage/mymodule.py:10: MyClass.mymethod(myparam):\nParameter kind was changed:\n  Old: positional or keyword\n  New: keyword-only\n```\n\nFor `src` layouts:\n\n```console\n$ griffe check --search src mypackage --verbose\nsrc/mypackage/mymodule.py:10: MyClass.mymethod(myparam):\nParameter kind was changed:\n  Old: positional or keyword\n  New: keyword-only\n```\n\nIt's also possible to directly **check packages from PyPI.org**\n(or other indexes configured through `PIP_INDEX_URL`).\nThis feature requires that you install Griffe with the `pypi` extra:\n\n```bash\npip install griffe[pypi]\n```\n\nThe command syntax is:\n\n```bash\ngriffe check package_name -b project-name==2.0 -a project-name==1.0\n```\n\nSee the [Checking chapter](https://mkdocstrings.github.io/griffe/guide/users/checking/) for more examples.\n\n### Load and navigate data with Python\n\n**With Python**, loading a package:\n\n```python\nimport griffe\n\nfastapi = griffe.load(\"fastapi\")\n```\n\nFinding breaking changes:\n\n```python\nimport griffe\n\nprevious = griffe.load_git(\"mypackage\", ref=\"0.2.0\")\ncurrent = griffe.load(\"mypackage\")\n\nfor breakage in griffe.find_breaking_changes(previous, current):\n    ...\n```\n\nSee the [Loading chapter](https://mkdocstrings.github.io/griffe/guide/users/loading/) for more examples.\n\n## Sponsors\n\n\u003c!-- sponsors-start --\u003e\n\n\u003cdiv id=\"premium-sponsors\" style=\"text-align: center;\"\u003e\n\n\u003cdiv id=\"silver-sponsors\"\u003e\u003cb\u003eSilver sponsors\u003c/b\u003e\u003cp\u003e\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/\"\u003e\u003cimg alt=\"Material for MkDocs\" src=\"https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/logo.svg\" style=\"height: 320px; \"\u003e\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://fastapi.tiangolo.com/\"\u003e\u003cimg alt=\"FastAPI\" src=\"https://raw.githubusercontent.com/tiangolo/fastapi/master/docs/en/docs/img/logo-margin/logo-teal.png\" style=\"height: 200px; \"\u003e\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://docs.pydantic.dev/latest/\"\u003e\u003cimg alt=\"Pydantic\" src=\"https://pydantic.dev/assets/for-external/pydantic_logfire_logo_endorsed_lithium_rgb.svg\" style=\"height: 180px; \"\u003e\u003c/a\u003e\u003cbr\u003e\n\u003c/p\u003e\u003c/div\u003e\n\n\u003cdiv id=\"bronze-sponsors\"\u003e\u003cb\u003eBronze sponsors\u003c/b\u003e\u003cp\u003e\n\u003ca href=\"https://www.nixtla.io/\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://www.nixtla.io/img/logo/full-black.svg\"\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://www.nixtla.io/img/logo/full-white.svg\"\u003e\u003cimg alt=\"Nixtla\" src=\"https://www.nixtla.io/img/logo/full-black.svg\" style=\"height: 60px; \"\u003e\u003c/picture\u003e\u003c/a\u003e\u003cbr\u003e\n\u003c/p\u003e\u003c/div\u003e\n\u003c/div\u003e\n\n---\n\n\u003cdiv id=\"sponsors\"\u003e\u003cp\u003e\n\u003ca href=\"https://github.com/ofek\"\u003e\u003cimg alt=\"ofek\" src=\"https://avatars.githubusercontent.com/u/9677399?u=386c330f212ce467ce7119d9615c75d0e9b9f1ce\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003cimg alt=\"samuelcolvin\" src=\"https://avatars.githubusercontent.com/u/4039449?u=42eb3b833047c8c4b4f647a031eaef148c16d93f\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/tlambert03\"\u003e\u003cimg alt=\"tlambert03\" src=\"https://avatars.githubusercontent.com/u/1609449?u=922abf0524b47739b37095e553c99488814b05db\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/ssbarnea\"\u003e\u003cimg alt=\"ssbarnea\" src=\"https://avatars.githubusercontent.com/u/102495?u=c7bd9ddf127785286fc939dd18cb02db0a453bce\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/femtomc\"\u003e\u003cimg alt=\"femtomc\" src=\"https://avatars.githubusercontent.com/u/34410036?u=f13a71daf2a9f0d2da189beaa94250daa629e2d8\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/cmarqu\"\u003e\u003cimg alt=\"cmarqu\" src=\"https://avatars.githubusercontent.com/u/360986?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/kolenaIO\"\u003e\u003cimg alt=\"kolenaIO\" src=\"https://avatars.githubusercontent.com/u/77010818?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/ramnes\"\u003e\u003cimg alt=\"ramnes\" src=\"https://avatars.githubusercontent.com/u/835072?u=3fca03c3ba0051e2eb652b1def2188a94d1e1dc2\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/machow\"\u003e\u003cimg alt=\"machow\" src=\"https://avatars.githubusercontent.com/u/2574498?u=c41e3d2f758a05102d8075e38d67b9c17d4189d7\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/BenHammersley\"\u003e\u003cimg alt=\"BenHammersley\" src=\"https://avatars.githubusercontent.com/u/99436?u=4499a7b507541045222ee28ae122dbe3c8d08ab5\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/trevorWieland\"\u003e\u003cimg alt=\"trevorWieland\" src=\"https://avatars.githubusercontent.com/u/28811461?u=74cc0e3756c1d4e3d66b5c396e1d131ea8a10472\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/laenan8466\"\u003e\u003cimg alt=\"laenan8466\" src=\"https://avatars.githubusercontent.com/u/21331242?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/MarcoGorelli\"\u003e\u003cimg alt=\"MarcoGorelli\" src=\"https://avatars.githubusercontent.com/u/33491632?u=7de3a749cac76a60baca9777baf71d043a4f884d\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/analog-cbarber\"\u003e\u003cimg alt=\"analog-cbarber\" src=\"https://avatars.githubusercontent.com/u/7408243?u=642fc2bdcc9904089c62fe5aec4e03ace32da67d\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/OdinManiac\"\u003e\u003cimg alt=\"OdinManiac\" src=\"https://avatars.githubusercontent.com/u/22727172?u=36ab20970f7f52ae8e7eb67b7fcf491fee01ac22\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/rstudio-sponsorship\"\u003e\u003cimg alt=\"rstudio-sponsorship\" src=\"https://avatars.githubusercontent.com/u/58949051?u=0c471515dd18111be30dfb7669ed5e778970959b\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/schlich\"\u003e\u003cimg alt=\"schlich\" src=\"https://avatars.githubusercontent.com/u/21191435?u=6f1240adb68f21614d809ae52d66509f46b1e877\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/SuperCowPowers\"\u003e\u003cimg alt=\"SuperCowPowers\" src=\"https://avatars.githubusercontent.com/u/6900187?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/butterlyn\"\u003e\u003cimg alt=\"butterlyn\" src=\"https://avatars.githubusercontent.com/u/53323535?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/livingbio\"\u003e\u003cimg alt=\"livingbio\" src=\"https://avatars.githubusercontent.com/u/10329983?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/NemetschekAllplan\"\u003e\u003cimg alt=\"NemetschekAllplan\" src=\"https://avatars.githubusercontent.com/u/912034?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/EricJayHartman\"\u003e\u003cimg alt=\"EricJayHartman\" src=\"https://avatars.githubusercontent.com/u/9259499?u=7e58cc7ec0cd3e85b27aec33656aa0f6612706dd\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/15r10nk\"\u003e\u003cimg alt=\"15r10nk\" src=\"https://avatars.githubusercontent.com/u/44680962?u=f04826446ff165742efa81e314bd03bf1724d50e\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/cdwilson\"\u003e\u003cimg alt=\"cdwilson\" src=\"https://avatars.githubusercontent.com/u/14631?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/activeloopai\"\u003e\u003cimg alt=\"activeloopai\" src=\"https://avatars.githubusercontent.com/u/34816118?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/roboflow\"\u003e\u003cimg alt=\"roboflow\" src=\"https://avatars.githubusercontent.com/u/53104118?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/wrath-codes\"\u003e\u003cimg alt=\"wrath-codes\" src=\"https://avatars.githubusercontent.com/u/90050913?u=b26582409dfff8ce2b60016fd119be09309708da\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/leodevian\"\u003e\u003cimg alt=\"leodevian\" src=\"https://avatars.githubusercontent.com/u/167141781?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/cmclaughlin\"\u003e\u003cimg alt=\"cmclaughlin\" src=\"https://avatars.githubusercontent.com/u/1061109?u=ddf6eec0edd2d11c980f8c3aa96e3d044d4e0468\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/blaisep\"\u003e\u003cimg alt=\"blaisep\" src=\"https://avatars.githubusercontent.com/u/254456?u=97d584b7c0a6faf583aa59975df4f993f671d121\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/RapidataAI\"\u003e\u003cimg alt=\"RapidataAI\" src=\"https://avatars.githubusercontent.com/u/104209891?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/rodolphebarbanneau\"\u003e\u003cimg alt=\"rodolphebarbanneau\" src=\"https://avatars.githubusercontent.com/u/46493454?u=6c405452a40c231cdf0b68e97544e07ee956a733\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/theSymbolSyndicate\"\u003e\u003cimg alt=\"theSymbolSyndicate\" src=\"https://avatars.githubusercontent.com/u/111542255?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/blakeNaccarato\"\u003e\u003cimg alt=\"blakeNaccarato\" src=\"https://avatars.githubusercontent.com/u/20692450?u=bb919218be30cfa994514f4cf39bb2f7cf952df4\u0026v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/ChargeStorm\"\u003e\u003cimg alt=\"ChargeStorm\" src=\"https://avatars.githubusercontent.com/u/26000165?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Alphadelta14\"\u003e\u003cimg alt=\"Alphadelta14\" src=\"https://avatars.githubusercontent.com/u/480845?v=4\" style=\"height: 32px; border-radius: 100%;\"\u003e\u003c/a\u003e\n\u003c/p\u003e\u003c/div\u003e\n\n\n*And 8 more private sponsor(s).*\n\n\u003c!-- sponsors-end --\u003e\n","funding_links":["https://github.com/sponsors/pawamoy","https://polar.sh/pawamoy"],"categories":["Programming Languages"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/mkdocstrings.github.io%2Fgriffe%2F","html_url":"https://awesome.ecosyste.ms/projects/mkdocstrings.github.io%2Fgriffe%2F","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/mkdocstrings.github.io%2Fgriffe%2F/lists"}