Informe JSON sin procesar legible por máquina
{
"data": {
"repo": {
"topics": [
"sphinx",
"doxygen"
],
"is_fork": false,
"size_kb": 3255,
"has_wiki": false,
"homepage": "https://breathe-doc.org",
"languages": {
"C": 8970,
"C++": 22549,
"CSS": 1312,
"Shell": 84,
"Python": 327525,
"Makefile": 8010,
"Batchfile": 8533
},
"pushed_at": "2026-01-01T08:13:42Z",
"created_at": "2009-02-03T18:52:25Z",
"owner_type": "Organization",
"updated_at": "2026-07-21T00:04:24Z",
"description": "ReStructuredText and Sphinx bridge to Doxygen",
"is_archived": false,
"is_disabled": false,
"license_spdx": null,
"default_branch": "main",
"license_spdx_raw": "NOASSERTION",
"primary_language": "Python",
"significant_languages": [
"Python"
]
},
"owner": {
"blog": "https://www.breathe-doc.org",
"name": "Breathe",
"type": "Organization",
"login": "breathe-doc",
"company": null,
"location": null,
"followers": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/101051588?v=4",
"created_at": "2022-03-06T13:47:28Z",
"is_verified": null,
"public_repos": 1,
"account_age_days": 1598
},
"license": {
"state": "custom",
"spdx_id": null,
"raw_spdx": "NOASSERTION",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v5.0.0a2",
"kind": "other",
"published_at": "2025-07-08T19:34:47Z"
},
{
"tag": "v4.36.0",
"kind": "minor",
"published_at": "2025-02-22T18:36:41Z"
},
{
"tag": "v4.35.0",
"kind": "minor",
"published_at": "2023-03-31T19:07:42Z"
},
{
"tag": "v4.34.0",
"kind": "minor",
"published_at": "2022-06-20T18:54:02Z"
},
{
"tag": "v4.33.1",
"kind": "patch",
"published_at": "2022-02-14T17:11:39Z"
},
{
"tag": "v4.33.0",
"kind": "minor",
"published_at": "2022-02-14T00:44:49Z"
},
{
"tag": "v4.32.0",
"kind": "minor",
"published_at": "2022-01-30T02:04:21Z"
},
{
"tag": "v4.31.0",
"kind": "minor",
"published_at": "2021-09-14T23:59:31Z"
},
{
"tag": "v4.30.0",
"kind": "minor",
"published_at": "2021-05-06T19:46:25Z"
},
{
"tag": "v4.29.2",
"kind": "patch",
"published_at": "2021-04-30T15:47:28Z"
},
{
"tag": "v4.29.1",
"kind": "patch",
"published_at": "2021-04-23T01:40:30Z"
},
{
"tag": "v4.29.0",
"kind": "minor",
"published_at": "2021-04-09T19:55:27Z"
}
],
"recent_commits": [
{
"oid": "021d6e52e8e29660f0ef3a42287db60b71e6ab6d",
"body": null,
"is_bot": true,
"headline": "Bump the github-actions group across 1 directory with 4 updates (#1049)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-12-01T11:01:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a1c6530ba5a935207b2396293b3954d9d378de2",
"body": null,
"is_bot": true,
"headline": "Bump actions/checkout to v5 (#1038)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-09-01T15:48:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d9093b34491e724e90aa0f77eccb314b172c76b",
"body": null,
"is_bot": false,
"headline": "Release v5.0.0a5",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-08T20:27:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01e3b5398c4d118972b9dfa663dafa8d6d530f99",
"body": "So that we can format the generated parser so that we ship neat code.",
"is_bot": false,
"headline": "Install ruff to create-release action",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-08T20:26:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "736c7cd4fe9101af5fbdf23f2cb3ec0f12475538",
"body": null,
"is_bot": false,
"headline": "Release v5.0.0a4",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-08T20:25:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25aba8cb6c58d712f7a4c6e162ec911dada21b15",
"body": null,
"is_bot": false,
"headline": "Add setuptools to create-release action",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-08T20:24:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44fcbc1fd6de8b63c20c4d4ff9a852983d7af987",
"body": null,
"is_bot": false,
"headline": "Release v5.0.0a3",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-08T20:23:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "969b6c41ec67e9a82a3fa83ace8eb759cb6106de",
"body": "I believe it is currently missing from the final package and we want\nto address that.",
"is_bot": false,
"headline": "Attempt to make parser during create-release",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-08T20:21:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "011367982d3dc36fc48993a04af758c4d887586d",
"body": null,
"is_bot": false,
"headline": "Release v5.0.0a2",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-08T19:31:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebc7d72b4a2383eeb95eea273c7f1ea25c11472e",
"body": "* Comment out csharp dependency\n\nAs we can't publish to PyPI with a git dependency. We might have to\nchange our type-checking so that it passes without this as we probably\ncan't be toggling it on and off all the time.\n\n* Tell mypy that sphinx_csharp will not be found\n\nAs we can't easily have it inst\n[…]\nd at the moment as it is a git\nrepo only.\n\nWe might want to explore having a stub file in our repo for that\ndependency but then that seems like to fall out of sync. Better maybe\nto leave it like this.",
"is_bot": false,
"headline": "Comment out csharp dependency (#1035)",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-08T19:30:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "702a9716d4b720131cfa072a303cf5c3b0160146",
"body": null,
"is_bot": false,
"headline": "Release v5.0.0a1",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-08T19:14:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99a8422879ba37b3d9007f5b8abf67fe8b54f1cf",
"body": null,
"is_bot": false,
"headline": "Merge branch 'merge-target'",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-08T19:05:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a6f71b843b69c1481ca6a266406ce6be5de47458",
"body": "Bumps the github-actions group with 1 update: [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv).\n\n\nUpdates `astral-sh/setup-uv` from 5 to 6\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/v5...v6)\n\n---\nupdated-depe\n[…]\nsion-update:semver-major\n dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump astral-sh/setup-uv from 5 to 6 in the github-actions group (#1025)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-07-02T13:01:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "591274d45e8e0f4dfbfe63c7551c6c46e60e5dfb",
"body": "This fixes `LaTeX Error: Unknown graphics extension: .svg`.",
"is_bot": false,
"headline": "Enable imgconverter extension to fix LaTeX documentation build (#1027)",
"author_name": "Dmitry Shachnev",
"author_login": "mitya57",
"committed_at": "2025-07-02T12:59:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4bda20209ccf659f77b234ebe0d9f324d28768b",
"body": "Incorrect indents cause some texts to be misinterpreted and render incorrectly.",
"is_bot": false,
"headline": "Fix some incorrect indents in the document (#1032)",
"author_name": "Yuki Kobayashi",
"author_login": null,
"committed_at": "2025-07-02T12:55:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41e05a133a1f3e9d0499a3df21ab56a6f54e9c2a",
"body": "Sphinx 8.x doesn't run on 3.9 and 8.2 doesn't run on 3.10 either.",
"is_bot": false,
"headline": "Include sphinx 8.2 and exclude invalid combinations",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-01T18:49:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "64cc544f2dfc6fc0cf5069a9c4e2c54e18ff70a7",
"body": "Too much going on here and I know too little about the python type\nsystem and how things are resolved. Maybe someone else can help if it\nbecomes an issue but it doesn't get us much at the moment even if it\nwas properly typed.",
"is_bot": false,
"headline": "Admit defeat on typing cppast properly",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-01T18:37:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7160380320b10e2fef6c649484746dafcab77c89",
"body": "We have a few places where we can update the compare.xml files to\ninclude full titles instead of section ids but otherwise we delete\ntests that are failing. This is just to get to green and see what else\nneeds to be done on the branch.\n\nThe plan is to restore these tests when we have a better understanding\nof what is going wrong.",
"is_bot": false,
"headline": "Update or delete failing tests",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-01T18:25:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "30e9bdf7a29f6ebb9c7de7783bfc9ae528d4ba90",
"body": "We now have the title properly instead of just the id.",
"is_bot": false,
"headline": "Fix dotgraphs test example",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-07-01T18:13:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2dc1541ffa7d15206a1ea4ae815aec3c70e52ba",
"body": "So that we get 'file' instead of 'DoxCompoundKind.file'",
"is_bot": false,
"headline": "Render the enum value instead of the str representation",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T16:18:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d1c42b8e9920497e28d4891bb132aa7124437a59",
"body": "This renders the title of the groups & pages instead of their less\nfriendly assigned name.",
"is_bot": false,
"headline": "Try to restore behaviour from PR #939",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T16:16:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7113c060f323f7a73b5a0df40dfaf1a61369569",
"body": null,
"is_bot": false,
"headline": "Don't try to format the _parser.py file if we don't have ruff",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T15:26:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c10d8abfa8ec5af6dc1c32d36219f97d9c09d2c",
"body": "We're happy enough if the pull request trigger is there and we don't\nneed both triggering for each push to a pull request.\n\nWe might considered having 'push to main' enabled but nothing else.",
"is_bot": false,
"headline": "Remove 'push' trigger from workflows",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T15:21:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8dbb5568dfc353bd19e6f66c7e908c4f819da734",
"body": null,
"is_bot": false,
"headline": "Compare script to soldier on through errors",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T12:23:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c4388069af9229c73f5b4a47a17d6e0849fc85a8",
"body": "We can't render the full docs for the same class twice.",
"is_bot": false,
"headline": "Add SecondTemplateClass to avoid rendering warning",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T11:33:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d2a4f1279991361eea09a4e3615fad66ad203f1d",
"body": null,
"is_bot": false,
"headline": "Attempt to uninstall the breathe wheel in doc action",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T11:28:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "53792b8169f57129bfeccdc2add49f7af89a65dd",
"body": null,
"is_bot": false,
"headline": "Install setuptools in documentation action",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T11:09:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cfa69f91a4c6f1dd6c57e4dddd890780bd09efca",
"body": null,
"is_bot": false,
"headline": "Build parser before tests",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T11:01:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7129b4c70e6b73be066e12706121d39ab7bc80f0",
"body": "As we don't always have ruff installed when we need to make the\nparser.",
"is_bot": false,
"headline": "Don't try to auto format with ruff",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T10:57:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9606a92999a3aed27ba88b132a53aa3a8c5914d",
"body": "This is a guess about what is expected from looking at the doc\nutils code.",
"is_bot": false,
"headline": "Attempt to resolve type error on CI",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T10:55:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "20fdb977c9088f816b757a9754ecfdcf77478653",
"body": null,
"is_bot": false,
"headline": "Install setuptools tools before building parser file",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T10:49:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c86965711e0ea99aba172cb8d8604d1c296250ee",
"body": null,
"is_bot": false,
"headline": "Fix ruff formatting after parser generation",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T10:44:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6ef2aa377edbe48c3dcd08bf5095eec2f8a722c",
"body": "I think this is missing and causing some errors on the jobs.",
"is_bot": false,
"headline": "Build parser in lint jobs",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T10:42:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1de57cf41bfa357fedf11003610e0d2c569f9f46",
"body": "With what are hopefully acceptable changes.\n\nSome casts, some ignores, some reshuffles.\n\nWe could do with some explicit notes about what we're supporting.\nWhich I guess could be inferred from the github action files. But\nsome clarity on what versions are supported, what it means to support\ncertain o\n[…]\n dropped.\n\nSome issues at the moment derive from supporting Python 3.9. Though I\nthink we probably want tests that type check on all versions to keep\nus honest and clear. (We might have them already.)",
"is_bot": false,
"headline": "Fix mypy errors",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-22T09:59:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f473402c51a376c1b03aadbc3875ec0407ece613",
"body": "The 'parser' target is just an easy name now rather than a duplicate\nentry.",
"is_bot": false,
"headline": "Use file target for 'parser' makefile entry",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-06T13:59:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d8e382a90b48eebf43aef3ffc38730f9098d641",
"body": null,
"is_bot": false,
"headline": "Build parser module before documentation",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-06T13:57:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee0bcc7086f1d522a61b9f317229a13c483b2826",
"body": "To check if it is still needed, I don't think it is.",
"is_bot": false,
"headline": "Remove clang install from workflow",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-06T13:53:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d8a6b52ad513f53ff2765d85065cbe8533b807f",
"body": "As it has non standard code patterns that we need to keep.",
"is_bot": false,
"headline": "Disable ruff warnings in conftest file",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-06T13:50:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "721a96451cd22b173d82325fcc8cf136357016f9",
"body": null,
"is_bot": false,
"headline": "Update json schema to reflect newer doxygen xml formatting",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-06-06T13:43:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d692596d0c2017aa3b7ed1dcb97ebab65500adfd",
"body": "I messed this up during the merge. It should be available at the top\nlevel as we reference the contents directly and not just in types.",
"is_bot": false,
"headline": "Fix cppast importing",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-30T09:51:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3a6870575d49148a8782e0feff6b5f281ed784a",
"body": "Conflicts:\n .github/workflows/unit_tests.yml\n breathe/parser.py\n breathe/renderer/sphinxrenderer.py\n breathe/renderer/target.py",
"is_bot": false,
"headline": "Merge branch 'Rouslan/main' into merge-target",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-30T09:45:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57f38e91e5ed9dcfd036e48399987c79db8cc5b8",
"body": "I realise I now need to merge some later work from Rouslan so I'm\ncommitting this even though the tests are not yet passing.",
"is_bot": false,
"headline": "Various adjustments to try to get tests passing",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-30T09:41:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59d0001c13255cc11d35ad0b1036c02a145ff37a",
"body": "The author has said that we no longer use that and just rely on the\npython parser generator instead.",
"is_bot": false,
"headline": "Remove C parser code and generator",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-30T08:45:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6072cf82755e4b2eba77ca6f347ce05828d467e",
"body": "For some we ignore them but hopefully nothing too serious.",
"is_bot": false,
"headline": "Manually resolve remaining ruff errors",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T14:37:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "49c5d93510d49669561dbb996dddc9455019c1d2",
"body": null,
"is_bot": false,
"headline": "Reformat with ruff",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T14:07:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c445ced243f8914f5c2a6331de87e6d31d1dc83",
"body": "I'm a bit concerned that maybe the python example should keep its '##'\ncomments as maybe that is a doxygen thing but we can revisit it if\nnecessary.",
"is_bot": false,
"headline": "Fix ruff linting errors with 'check --fix'",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T14:05:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61cf0f3e5395c365a307727360581a6b5a8bc043",
"body": null,
"is_bot": false,
"headline": "Resolve tests/warnings/source/conf.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T10:47:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "416916068ed2791d41bd846f8bd6cd513d1b57d3",
"body": null,
"is_bot": false,
"headline": "Resolve tests/test_utils.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T10:46:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29c63081d753338acfa24fdcc4dbd2d04ef4db23",
"body": null,
"is_bot": false,
"headline": "Resolve tests/test_renderer.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T10:45:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b55ea761d590c1fc87680feb1d65a9442283e2d3",
"body": null,
"is_bot": false,
"headline": "Resolve tests/conftest.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T10:42:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8e45ff228ec82438c525f83bac188da3435f90a",
"body": null,
"is_bot": false,
"headline": "Resolve pyproject.toml",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T10:39:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e676f5498ffe0593213f02241a2f108db880d6e0",
"body": null,
"is_bot": false,
"headline": "Remove files deleted on main",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T10:35:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85d17e8a5e1bed215df28d72e930a06e8c3e829c",
"body": null,
"is_bot": false,
"headline": "Resolve documentation/source/conf.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T10:34:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c23e4d15a6199713dbb5fff66bb0538290143d84",
"body": null,
"is_bot": false,
"headline": "Resolve documentation/make.bat",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T10:10:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d703137d82ab08999204f93fb985594fd2363fb",
"body": "Keeping ruff logic over black & flake8.",
"is_bot": false,
"headline": "Resolve make.bat",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T10:08:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e28c3a032b1952fb3629a96272f0c75a38dd67ae",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/renderer/target.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T10:07:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08a8c9ac30d21a36a8c07ca3f4733f0582afa144",
"body": "I think these are the only two places where there is newer logic in main\nthat we want to take into account.",
"is_bot": false,
"headline": "Restore some newer logic in breathe/renderer/sphinxrenderer.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T10:03:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "92d56021124e15f50b885bd6b9eb83e99a6fd244",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/renderer/sphinxrenderer.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T09:53:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14c72d79eb5e92d7f88f58e359f1aa19e99190e3",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/renderer/mask.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T09:36:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdde569d26ff747005e96452b1fe1b0e7fe13549",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/renderer/filter.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T09:33:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae4dd5975fc312ad28db7ca296dae6ee98cea858",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/renderer/__init__.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T08:26:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae1c3c7e2ee5681e45a1da3d5cb187cdb9f27f9e",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/project.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T08:25:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "604aae16a5def4a83bfcfe9daf781623999be547",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/process.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T08:23:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2c5be55b2d11d43d847f14a42ccbc81e2b1cd4e",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/path_handler.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T08:21:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6765929982d1bd5ce7e3cb4b615cf090069d2b94",
"body": "As it was removed in the refactor branch and replaced with another\napproach.",
"is_bot": false,
"headline": "Remove breathe/parser folder",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T08:15:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6450c303097113e303297ab7d2a8da439037a1c",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/finder/index.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T08:14:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a45f0d7a1d6351321c0adc34aedd8c86337a38d3",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/finder/factory.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T08:09:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab13d7e20d4e399b364cf7e79dd1f58244898731",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/finder/compound.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T08:07:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "184a384d989199555a405759f115364ec5391703",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/finder/__init__.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T08:05:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "38627f81100e790eb6486fe84b8d850a87c91287",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/filetypes.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T08:03:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c42b0c9269c202f679e39e6ef0331924c616265",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/file_state_cache.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T08:02:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3a7e2dfc20bc4e321dd3cc9596effc031ab317c",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/directives/setup.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:59:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ce02d27bbcf11d7e1fbcfc0b0227bdcbb8a38f0",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/directives/item.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:58:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae872d1d311c7189fd9829f4491c1835ffd575f6",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/directives/index.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:57:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2edf205f45fd8c9fd2deceea2019c1920f918fce",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/directives/function.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:56:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "525f4ce839fdffcade2dd48c8ced29ded353b809",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/directives/file.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:53:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a335cdc4c311e0980cee9cd580afeeb337679db",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/directives/content_block.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:52:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "705c22d8d7562ccfdfb242b37d6d9b70b3676d2e",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/directives/class_like.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:50:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1c1cec8801593a51f4ed29feed963cd63b9e6606",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/directives/__init__.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:47:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c76f4f6ed01174b8d7dde9c20e5be47deb05315e",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/apidoc.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:43:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a28c46555dd5d67ddbcbfd2b7cbb05d236fa1fa",
"body": null,
"is_bot": false,
"headline": "Resolve breathe/__init__.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:41:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f29c08b9176a5278375123139a1dd1ce99340fa4",
"body": null,
"is_bot": false,
"headline": "Resolve breathe-apidoc.py",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:38:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af47b7f11fecc47efd2aa093e36b4f2b433c2aef",
"body": null,
"is_bot": false,
"headline": "Resolve README.rst",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:37:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2fe83ca506f609a96fbfe35e23ba76eb42a86174",
"body": null,
"is_bot": false,
"headline": "Resolve Makefile",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:34:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c06192fa2d35ef73d8bf88cedfbf79d0f1f3c11",
"body": null,
"is_bot": false,
"headline": "Resolve .github/workflows/unit_tests.yml",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:33:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f43841e9d5192df2cffaca4330c4ce4057a10ce4",
"body": null,
"is_bot": false,
"headline": "Resolve .github/workflows/lint.yml",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:19:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce7d0a8fc963428bcf18418c99e71112545d8665",
"body": null,
"is_bot": false,
"headline": "Resolve .github/workflows/documentation.yml",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-05-29T07:14:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f94d92f9afb5000cfc3bcad9ddf2ce713a641fc",
"body": null,
"is_bot": false,
"headline": "Lint fix",
"author_name": "Rouslan Korneychuk",
"author_login": "Rouslan",
"committed_at": "2025-05-11T05:23:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0a3dff892e8bf4fda5f67af9c36acbe40ab330fe",
"body": "…r was done",
"is_bot": false,
"headline": "Duplicate reference targets are no longer emitted and a minor refacto…",
"author_name": "Rouslan Korneychuk",
"author_login": "Rouslan",
"committed_at": "2025-05-11T05:16:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a17e7e771e701ec789bee629cc96e0bd82a1b9b5",
"body": null,
"is_bot": false,
"headline": "Minor refactor",
"author_name": "Rouslan Korneychuk",
"author_login": "Rouslan",
"committed_at": "2025-05-02T05:22:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed7168fcf13891dad13b25765cee72197baa75cf",
"body": null,
"is_bot": false,
"headline": "Updated to accommodate newer versions of Doxygen",
"author_name": "Rouslan Korneychuk",
"author_login": "Rouslan",
"committed_at": "2025-05-02T05:09:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0df0562e0b6631fcc2a699ac529d42d8176d9d01",
"body": "So we can track our progress resolving them.",
"is_bot": false,
"headline": "Add list of conficts from the merge",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-04-21T14:54:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5ecf2d34e4187181a70943a11b9a6da7673500b2",
"body": "…conflicts\n\nThe plan is to resolve the conflicts a file/commit at a time for clarity.",
"is_bot": false,
"headline": "Merge branch 'memberdef-in-groups' into merge-target with unresolved …",
"author_name": "Michael Jones",
"author_login": "michaeljones",
"committed_at": "2025-04-21T14:53:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "765805455626744ae4547a0e3d5e3fe0408b731a",
"body": null,
"is_bot": false,
"headline": "Parse the referenced compound (group) XML",
"author_name": "jce",
"author_login": "JasperCraeghs",
"committed_at": "2025-04-14T09:36:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "042e71922fb5a46d289d41e25e0ba76518aa18b9",
"body": null,
"is_bot": false,
"headline": "Fix docstring missing quotes (#1020)",
"author_name": "Rotzbua",
"author_login": "Rotzbua",
"committed_at": "2025-04-14T06:20:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a78fc1577224ed8587302237cccab27e459c0b99",
"body": "…e into memberdef-in-groups",
"is_bot": false,
"headline": "Merge branch 'memberdef-in-groups' of github.com:JasperCraeghs/breath…",
"author_name": "jce",
"author_login": "JasperCraeghs",
"committed_at": "2025-04-10T16:31:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea1f7537ae8d84a8d6612f9811596e0091291c90",
"body": null,
"is_bot": false,
"headline": "Release v4.36.0",
"author_name": "Adam Turner",
"author_login": "AA-Turner",
"committed_at": "2025-02-22T18:34:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce675266ad18bb97e5ef6fa08b34441d3c96abe4",
"body": null,
"is_bot": false,
"headline": "Add GitHub Actions release workflow for Trusted Publishing (#1023)",
"author_name": "Adam Turner",
"author_login": "AA-Turner",
"committed_at": "2025-02-22T18:18:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4d8fbcffc7de2e44324c3861d951a9a2d68da7b",
"body": "…xes for tests",
"is_bot": false,
"headline": "Fixed compatibility for in-development version of Sphinx and small fi…",
"author_name": "Rouslan Korneychuk",
"author_login": "Rouslan",
"committed_at": "2025-01-22T07:49:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7d72fe0ac877b940de18c90501baf10b23ee06e",
"body": null,
"is_bot": false,
"headline": "Fix mistake in most recently added test",
"author_name": "Rouslan Korneychuk",
"author_login": "Rouslan",
"committed_at": "2025-01-22T07:22:33Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 12,
"commits_last_year": 2,
"latest_release_at": "2025-07-08T19:34:47Z",
"latest_release_tag": "v5.0.0a2",
"releases_from_tags": false,
"days_since_last_push": 201,
"active_weeks_last_year": 2,
"days_since_latest_release": 378,
"mean_days_between_releases": 170
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 50,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "breathe",
"exists": true,
"license": null,
"keywords": [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Environment :: Web Environment",
"Framework :: Sphinx",
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.9",
"Topic :: Documentation",
"Topic :: Documentation :: Sphinx",
"Topic :: Software Development",
"Topic :: Software Development :: Documentation",
"Topic :: Text Processing",
"Topic :: Utilities"
],
"ecosystem": "pypi",
"matches_repo": true,
"registry_url": "https://pypi.org/project/breathe/",
"is_deprecated": false,
"latest_version": "4.36.0",
"repository_url": "https://github.com/breathe-doc/breathe/",
"versions_count": 68,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2011-08-31T21:19:33.827497Z",
"latest_published_at": "2025-02-22T18:36:03.360097Z",
"latest_version_yanked": null,
"days_since_latest_publish": 514
}
]
},
"popularity": {
"forks": 211,
"stars": 813,
"watchers": 14,
"fork_history": {
"days": [
{
"date": "2010-10-12",
"count": 1
},
{
"date": "2011-01-08",
"count": 1
},
{
"date": "2011-07-20",
"count": 1
},
{
"date": "2011-08-30",
"count": 1
},
{
"date": "2012-01-18",
"count": 1
},
{
"date": "2012-05-08",
"count": 1
},
{
"date": "2012-09-13",
"count": 1
},
{
"date": "2012-10-04",
"count": 1
},
{
"date": "2012-11-08",
"count": 1
},
{
"date": "2012-11-30",
"count": 1
},
{
"date": "2012-12-27",
"count": 1
},
{
"date": "2013-03-19",
"count": 1
},
{
"date": "2013-06-21",
"count": 1
},
{
"date": "2013-06-24",
"count": 1
},
{
"date": "2013-09-13",
"count": 1
},
{
"date": "2013-10-09",
"count": 1
},
{
"date": "2013-12-06",
"count": 1
},
{
"date": "2014-03-04",
"count": 1
},
{
"date": "2014-03-24",
"count": 1
},
{
"date": "2014-04-25",
"count": 1
},
{
"date": "2014-06-18",
"count": 1
},
{
"date": "2014-06-23",
"count": 1
},
{
"date": "2014-07-01",
"count": 1
},
{
"date": "2014-07-06",
"count": 1
},
{
"date": "2014-07-23",
"count": 1
},
{
"date": "2014-09-04",
"count": 1
},
{
"date": "2014-10-14",
"count": 1
},
{
"date": "2014-11-12",
"count": 1
},
{
"date": "2014-12-07",
"count": 1
},
{
"date": "2015-05-16",
"count": 1
},
{
"date": "2015-05-31",
"count": 1
},
{
"date": "2015-06-14",
"count": 1
},
{
"date": "2015-06-21",
"count": 1
},
{
"date": "2015-07-14",
"count": 1
},
{
"date": "2015-09-06",
"count": 1
},
{
"date": "2015-09-22",
"count": 1
},
{
"date": "2015-10-19",
"count": 1
},
{
"date": "2015-11-19",
"count": 1
},
{
"date": "2015-12-22",
"count": 1
},
{
"date": "2016-01-12",
"count": 1
},
{
"date": "2016-02-01",
"count": 1
},
{
"date": "2016-02-09",
"count": 1
},
{
"date": "2016-03-18",
"count": 1
},
{
"date": "2016-05-31",
"count": 2
},
{
"date": "2016-07-04",
"count": 1
},
{
"date": "2016-09-15",
"count": 1
},
{
"date": "2016-09-18",
"count": 1
},
{
"date": "2016-10-01",
"count": 1
},
{
"date": "2016-11-25",
"count": 1
},
{
"date": "2016-11-28",
"count": 1
},
{
"date": "2016-12-23",
"count": 1
},
{
"date": "2016-12-30",
"count": 1
},
{
"date": "2017-02-21",
"count": 1
},
{
"date": "2017-04-07",
"count": 1
},
{
"date": "2017-04-14",
"count": 1
},
{
"date": "2017-04-18",
"count": 1
},
{
"date": "2017-04-30",
"count": 1
},
{
"date": "2017-05-06",
"count": 1
},
{
"date": "2017-05-10",
"count": 1
},
{
"date": "2017-06-22",
"count": 1
},
{
"date": "2017-07-03",
"count": 1
},
{
"date": "2017-08-17",
"count": 1
},
{
"date": "2017-08-18",
"count": 1
},
{
"date": "2017-09-08",
"count": 1
},
{
"date": "2017-09-27",
"count": 2
},
{
"date": "2017-11-23",
"count": 1
},
{
"date": "2017-12-17",
"count": 1
},
{
"date": "2018-02-16",
"count": 1
},
{
"date": "2018-04-08",
"count": 1
},
{
"date": "2018-05-17",
"count": 1
},
{
"date": "2018-05-30",
"count": 1
},
{
"date": "2018-06-04",
"count": 2
},
{
"date": "2018-08-09",
"count": 1
},
{
"date": "2018-08-14",
"count": 1
},
{
"date": "2018-08-28",
"count": 1
},
{
"date": "2018-10-15",
"count": 1
},
{
"date": "2018-10-16",
"count": 1
},
{
"date": "2018-10-30",
"count": 1
},
{
"date": "2018-11-21",
"count": 1
},
{
"date": "2018-12-03",
"count": 1
},
{
"date": "2019-02-17",
"count": 1
},
{
"date": "2019-03-03",
"count": 1
},
{
"date": "2019-03-15",
"count": 1
},
{
"date": "2019-03-22",
"count": 1
},
{
"date": "2019-08-07",
"count": 1
},
{
"date": "2019-08-28",
"count": 1
},
{
"date": "2019-09-05",
"count": 1
},
{
"date": "2019-10-02",
"count": 1
},
{
"date": "2019-10-07",
"count": 1
},
{
"date": "2019-11-05",
"count": 1
},
{
"date": "2019-11-25",
"count": 1
},
{
"date": "2019-12-07",
"count": 1
},
{
"date": "2020-01-02",
"count": 1
},
{
"date": "2020-03-10",
"count": 1
},
{
"date": "2020-03-11",
"count": 1
},
{
"date": "2020-04-06",
"count": 1
},
{
"date": "2020-04-14",
"count": 1
},
{
"date": "2020-04-18",
"count": 2
},
{
"date": "2020-05-05",
"count": 1
},
{
"date": "2020-05-12",
"count": 1
},
{
"date": "2020-05-29",
"count": 1
},
{
"date": "2020-06-06",
"count": 1
},
{
"date": "2020-06-08",
"count": 1
},
{
"date": "2020-06-22",
"count": 1
},
{
"date": "2020-07-08",
"count": 1
},
{
"date": "2020-07-09",
"count": 1
},
{
"date": "2020-08-05",
"count": 1
},
{
"date": "2020-08-27",
"count": 1
},
{
"date": "2020-09-15",
"count": 1
},
{
"date": "2020-10-01",
"count": 1
},
{
"date": "2020-10-07",
"count": 1
},
{
"date": "2020-12-07",
"count": 1
},
{
"date": "2020-12-18",
"count": 1
},
{
"date": "2021-02-02",
"count": 1
},
{
"date": "2021-02-11",
"count": 1
},
{
"date": "2021-02-22",
"count": 1
},
{
"date": "2021-03-11",
"count": 1
},
{
"date": "2021-04-01",
"count": 1
},
{
"date": "2021-04-23",
"count": 1
},
{
"date": "2021-06-02",
"count": 1
},
{
"date": "2021-06-22",
"count": 1
},
{
"date": "2021-07-13",
"count": 1
},
{
"date": "2021-08-19",
"count": 1
},
{
"date": "2021-08-30",
"count": 1
},
{
"date": "2021-09-30",
"count": 1
},
{
"date": "2021-11-04",
"count": 1
},
{
"date": "2021-11-09",
"count": 1
},
{
"date": "2021-11-19",
"count": 1
},
{
"date": "2021-11-23",
"count": 1
},
{
"date": "2021-12-01",
"count": 1
},
{
"date": "2021-12-13",
"count": 1
},
{
"date": "2022-01-31",
"count": 2
},
{
"date": "2022-05-17",
"count": 1
},
{
"date": "2022-05-20",
"count": 1
},
{
"date": "2022-06-03",
"count": 1
},
{
"date": "2022-06-04",
"count": 1
},
{
"date": "2022-06-07",
"count": 1
},
{
"date": "2022-06-10",
"count": 1
},
{
"date": "2022-06-14",
"count": 1
},
{
"date": "2022-06-20",
"count": 1
},
{
"date": "2022-06-25",
"count": 1
},
{
"date": "2022-06-30",
"count": 1
},
{
"date": "2022-07-27",
"count": 2
},
{
"date": "2022-07-30",
"count": 1
},
{
"date": "2022-08-03",
"count": 1
},
{
"date": "2022-08-21",
"count": 1
},
{
"date": "2022-10-22",
"count": 1
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-10-28",
"count": 1
},
{
"date": "2022-12-06",
"count": 1
},
{
"date": "2022-12-08",
"count": 1
},
{
"date": "2023-01-02",
"count": 1
},
{
"date": "2023-01-05",
"count": 1
},
{
"date": "2023-01-07",
"count": 1
},
{
"date": "2023-01-16",
"count": 1
},
{
"date": "2023-02-09",
"count": 1
},
{
"date": "2023-02-21",
"count": 1
},
{
"date": "2023-02-27",
"count": 1
},
{
"date": "2023-03-12",
"count": 1
},
{
"date": "2023-04-27",
"count": 1
},
{
"date": "2023-05-17",
"count": 2
},
{
"date": "2023-06-12",
"count": 1
},
{
"date": "2023-07-01",
"count": 1
},
{
"date": "2023-07-19",
"count": 1
},
{
"date": "2023-08-22",
"count": 2
},
{
"date": "2023-08-30",
"count": 1
},
{
"date": "2023-09-12",
"count": 1
},
{
"date": "2023-10-04",
"count": 1
},
{
"date": "2023-10-18",
"count": 1
},
{
"date": "2023-11-14",
"count": 1
},
{
"date": "2023-12-21",
"count": 1
},
{
"date": "2024-01-23",
"count": 1
},
{
"date": "2024-02-15",
"count": 1
},
{
"date": "2024-03-22",
"count": 1
},
{
"date": "2024-03-31",
"count": 1
},
{
"date": "2024-05-21",
"count": 1
},
{
"date": "2024-05-25",
"count": 1
},
{
"date": "2024-06-12",
"count": 1
},
{
"date": "2024-06-28",
"count": 1
},
{
"date": "2024-07-29",
"count": 1
},
{
"date": "2024-10-23",
"count": 1
},
{
"date": "2024-11-24",
"count": 1
},
{
"date": "2024-11-26",
"count": 1
},
{
"date": "2025-01-16",
"count": 1
},
{
"date": "2025-02-11",
"count": 1
},
{
"date": "2025-02-14",
"count": 1
},
{
"date": "2025-03-13",
"count": 1
},
{
"date": "2025-06-12",
"count": 1
},
{
"date": "2025-07-06",
"count": 1
},
{
"date": "2025-10-01",
"count": 1
},
{
"date": "2025-11-10",
"count": 1
},
{
"date": "2025-11-17",
"count": 1
},
{
"date": "2025-11-28",
"count": 1
},
{
"date": "2026-02-23",
"count": 1
},
{
"date": "2026-03-22",
"count": 1
},
{
"date": "2026-05-05",
"count": 1
}
],
"complete": true,
"collected": 204,
"total_forks": 211
},
"star_history": {
"days": [
{
"date": "2009-02-03",
"count": 5
},
{
"date": "2009-02-12",
"count": 1
},
{
"date": "2009-02-21",
"count": 1
},
{
"date": "2009-02-23",
"count": 1
},
{
"date": "2009-03-02",
"count": 1
},
{
"date": "2009-03-12",
"count": 1
},
{
"date": "2009-04-04",
"count": 1
},
{
"date": "2009-04-17",
"count": 1
},
{
"date": "2009-04-20",
"count": 1
},
{
"date": "2009-04-29",
"count": 1
},
{
"date": "2009-05-08",
"count": 1
},
{
"date": "2009-05-23",
"count": 1
},
{
"date": "2009-05-24",
"count": 1
},
{
"date": "2009-08-30",
"count": 1
},
{
"date": "2009-09-09",
"count": 1
},
{
"date": "2009-10-05",
"count": 1
},
{
"date": "2009-10-29",
"count": 1
},
{
"date": "2009-11-04",
"count": 1
},
{
"date": "2009-11-06",
"count": 1
},
{
"date": "2009-11-21",
"count": 1
},
{
"date": "2010-01-23",
"count": 1
},
{
"date": "2010-01-29",
"count": 1
},
{
"date": "2010-02-27",
"count": 1
},
{
"date": "2010-03-22",
"count": 2
},
{
"date": "2010-05-05",
"count": 1
},
{
"date": "2010-07-01",
"count": 1
},
{
"date": "2010-09-21",
"count": 1
},
{
"date": "2010-10-26",
"count": 1
},
{
"date": "2010-10-28",
"count": 1
},
{
"date": "2010-11-23",
"count": 1
},
{
"date": "2010-12-03",
"count": 1
},
{
"date": "2010-12-27",
"count": 1
},
{
"date": "2011-01-08",
"count": 1
},
{
"date": "2011-01-21",
"count": 1
},
{
"date": "2011-02-14",
"count": 1
},
{
"date": "2011-03-01",
"count": 1
},
{
"date": "2011-03-17",
"count": 1
},
{
"date": "2011-07-29",
"count": 1
},
{
"date": "2011-08-12",
"count": 1
},
{
"date": "2011-09-29",
"count": 1
},
{
"date": "2011-11-12",
"count": 1
},
{
"date": "2012-02-28",
"count": 1
},
{
"date": "2013-02-12",
"count": 1
},
{
"date": "2013-02-13",
"count": 1
},
{
"date": "2013-02-15",
"count": 1
},
{
"date": "2013-02-25",
"count": 1
},
{
"date": "2013-02-27",
"count": 1
},
{
"date": "2013-03-08",
"count": 1
},
{
"date": "2013-03-22",
"count": 2
},
{
"date": "2013-03-24",
"count": 1
},
{
"date": "2013-04-10",
"count": 1
},
{
"date": "2013-04-18",
"count": 1
},
{
"date": "2013-04-21",
"count": 1
},
{
"date": "2013-06-11",
"count": 1
},
{
"date": "2013-06-17",
"count": 1
},
{
"date": "2013-06-25",
"count": 1
},
{
"date": "2013-06-28",
"count": 2
},
{
"date": "2013-07-15",
"count": 1
},
{
"date": "2013-07-16",
"count": 1
},
{
"date": "2013-07-19",
"count": 2
},
{
"date": "2013-07-26",
"count": 1
},
{
"date": "2013-08-01",
"count": 1
},
{
"date": "2013-08-03",
"count": 1
},
{
"date": "2013-08-06",
"count": 1
},
{
"date": "2013-08-27",
"count": 1
},
{
"date": "2013-09-19",
"count": 1
},
{
"date": "2013-10-17",
"count": 1
},
{
"date": "2013-10-31",
"count": 1
},
{
"date": "2013-11-06",
"count": 1
},
{
"date": "2013-11-26",
"count": 1
},
{
"date": "2013-11-30",
"count": 1
},
{
"date": "2014-01-02",
"count": 1
},
{
"date": "2014-01-07",
"count": 1
},
{
"date": "2014-01-23",
"count": 1
},
{
"date": "2014-01-27",
"count": 1
},
{
"date": "2014-01-29",
"count": 1
},
{
"date": "2014-02-23",
"count": 1
},
{
"date": "2014-02-26",
"count": 2
},
{
"date": "2014-03-21",
"count": 1
},
{
"date": "2014-03-25",
"count": 1
},
{
"date": "2014-04-03",
"count": 1
},
{
"date": "2014-05-04",
"count": 1
},
{
"date": "2014-05-12",
"count": 1
},
{
"date": "2014-06-28",
"count": 1
},
{
"date": "2014-07-03",
"count": 2
},
{
"date": "2014-07-06",
"count": 1
},
{
"date": "2014-07-17",
"count": 2
},
{
"date": "2014-07-22",
"count": 1
},
{
"date": "2014-08-24",
"count": 1
},
{
"date": "2014-09-22",
"count": 1
},
{
"date": "2014-10-08",
"count": 1
},
{
"date": "2014-10-09",
"count": 1
},
{
"date": "2014-10-14",
"count": 2
},
{
"date": "2014-10-18",
"count": 1
},
{
"date": "2014-10-23",
"count": 1
},
{
"date": "2014-10-27",
"count": 1
},
{
"date": "2014-10-29",
"count": 1
},
{
"date": "2014-11-02",
"count": 1
},
{
"date": "2014-11-21",
"count": 1
},
{
"date": "2014-11-23",
"count": 1
},
{
"date": "2014-11-26",
"count": 1
},
{
"date": "2014-12-01",
"count": 1
},
{
"date": "2014-12-08",
"count": 1
},
{
"date": "2014-12-09",
"count": 2
},
{
"date": "2014-12-10",
"count": 1
},
{
"date": "2014-12-13",
"count": 1
},
{
"date": "2014-12-16",
"count": 1
},
{
"date": "2014-12-22",
"count": 1
},
{
"date": "2014-12-23",
"count": 1
},
{
"date": "2015-01-12",
"count": 1
},
{
"date": "2015-01-14",
"count": 1
},
{
"date": "2015-01-15",
"count": 1
},
{
"date": "2015-01-29",
"count": 1
},
{
"date": "2015-01-30",
"count": 1
},
{
"date": "2015-02-09",
"count": 1
},
{
"date": "2015-02-15",
"count": 1
},
{
"date": "2015-02-18",
"count": 1
},
{
"date": "2015-02-28",
"count": 1
},
{
"date": "2015-03-04",
"count": 1
},
{
"date": "2015-03-07",
"count": 1
},
{
"date": "2015-03-10",
"count": 1
},
{
"date": "2015-03-18",
"count": 1
},
{
"date": "2015-03-23",
"count": 1
},
{
"date": "2015-04-02",
"count": 1
},
{
"date": "2015-04-03",
"count": 1
},
{
"date": "2015-04-15",
"count": 1
},
{
"date": "2015-04-19",
"count": 2
},
{
"date": "2015-04-22",
"count": 1
},
{
"date": "2015-04-30",
"count": 1
},
{
"date": "2015-05-02",
"count": 1
},
{
"date": "2015-06-05",
"count": 1
},
{
"date": "2015-06-19",
"count": 1
},
{
"date": "2015-06-28",
"count": 1
},
{
"date": "2015-07-14",
"count": 1
},
{
"date": "2015-07-21",
"count": 1
},
{
"date": "2015-08-19",
"count": 1
},
{
"date": "2015-08-29",
"count": 1
},
{
"date": "2015-09-16",
"count": 1
},
{
"date": "2015-09-17",
"count": 1
},
{
"date": "2015-09-29",
"count": 1
},
{
"date": "2015-10-13",
"count": 1
},
{
"date": "2015-10-19",
"count": 1
},
{
"date": "2015-11-05",
"count": 1
},
{
"date": "2015-11-08",
"count": 1
},
{
"date": "2015-11-14",
"count": 1
},
{
"date": "2015-11-25",
"count": 1
},
{
"date": "2015-12-23",
"count": 1
},
{
"date": "2015-12-31",
"count": 1
},
{
"date": "2016-01-03",
"count": 1
},
{
"date": "2016-01-04",
"count": 1
},
{
"date": "2016-01-06",
"count": 1
},
{
"date": "2016-01-22",
"count": 1
},
{
"date": "2016-02-02",
"count": 1
},
{
"date": "2016-02-13",
"count": 1
},
{
"date": "2016-02-22",
"count": 1
},
{
"date": "2016-02-26",
"count": 1
},
{
"date": "2016-03-01",
"count": 1
},
{
"date": "2016-03-21",
"count": 1
},
{
"date": "2016-03-22",
"count": 1
},
{
"date": "2016-04-03",
"count": 1
},
{
"date": "2016-04-07",
"count": 1
},
{
"date": "2016-04-14",
"count": 1
},
{
"date": "2016-04-15",
"count": 1
},
{
"date": "2016-05-01",
"count": 1
},
{
"date": "2016-05-09",
"count": 1
},
{
"date": "2016-05-10",
"count": 2
},
{
"date": "2016-05-13",
"count": 1
},
{
"date": "2016-05-14",
"count": 1
},
{
"date": "2016-05-18",
"count": 1
},
{
"date": "2016-05-24",
"count": 1
},
{
"date": "2016-05-26",
"count": 1
},
{
"date": "2016-05-31",
"count": 1
},
{
"date": "2016-06-15",
"count": 1
},
{
"date": "2016-07-08",
"count": 1
},
{
"date": "2016-07-10",
"count": 1
},
{
"date": "2016-07-29",
"count": 1
},
{
"date": "2016-08-02",
"count": 1
},
{
"date": "2016-08-03",
"count": 1
},
{
"date": "2016-08-04",
"count": 2
},
{
"date": "2016-08-12",
"count": 1
},
{
"date": "2016-08-15",
"count": 1
},
{
"date": "2016-09-21",
"count": 1
},
{
"date": "2016-09-28",
"count": 1
},
{
"date": "2016-10-01",
"count": 1
},
{
"date": "2016-10-12",
"count": 1
},
{
"date": "2016-10-17",
"count": 1
},
{
"date": "2016-10-27",
"count": 1
},
{
"date": "2016-10-28",
"count": 1
},
{
"date": "2016-11-15",
"count": 1
},
{
"date": "2016-11-24",
"count": 1
},
{
"date": "2016-11-25",
"count": 1
},
{
"date": "2016-11-26",
"count": 1
},
{
"date": "2016-11-27",
"count": 1
},
{
"date": "2016-12-27",
"count": 1
},
{
"date": "2016-12-28",
"count": 1
},
{
"date": "2017-01-17",
"count": 1
},
{
"date": "2017-01-19",
"count": 2
},
{
"date": "2017-01-25",
"count": 3
},
{
"date": "2017-02-02",
"count": 1
},
{
"date": "2017-02-03",
"count": 1
},
{
"date": "2017-02-15",
"count": 1
},
{
"date": "2017-02-17",
"count": 1
},
{
"date": "2017-02-20",
"count": 1
},
{
"date": "2017-03-05",
"count": 2
},
{
"date": "2017-03-08",
"count": 1
},
{
"date": "2017-03-09",
"count": 1
},
{
"date": "2017-03-14",
"count": 1
},
{
"date": "2017-03-16",
"count": 1
},
{
"date": "2017-03-24",
"count": 1
},
{
"date": "2017-03-30",
"count": 1
},
{
"date": "2017-04-04",
"count": 1
},
{
"date": "2017-04-07",
"count": 1
},
{
"date": "2017-04-28",
"count": 1
},
{
"date": "2017-05-03",
"count": 1
},
{
"date": "2017-05-06",
"count": 1
},
{
"date": "2017-05-07",
"count": 1
},
{
"date": "2017-05-16",
"count": 1
},
{
"date": "2017-05-31",
"count": 2
},
{
"date": "2017-06-06",
"count": 1
},
{
"date": "2017-06-13",
"count": 1
},
{
"date": "2017-06-15",
"count": 1
},
{
"date": "2017-06-28",
"count": 1
},
{
"date": "2017-07-03",
"count": 1
},
{
"date": "2017-07-09",
"count": 1
},
{
"date": "2017-07-15",
"count": 1
},
{
"date": "2017-07-19",
"count": 1
},
{
"date": "2017-07-21",
"count": 1
},
{
"date": "2017-07-27",
"count": 1
},
{
"date": "2017-07-29",
"count": 1
},
{
"date": "2017-08-07",
"count": 1
},
{
"date": "2017-08-09",
"count": 1
},
{
"date": "2017-08-22",
"count": 1
},
{
"date": "2017-08-26",
"count": 1
},
{
"date": "2017-09-08",
"count": 1
},
{
"date": "2017-09-11",
"count": 1
},
{
"date": "2017-09-15",
"count": 1
},
{
"date": "2017-09-19",
"count": 1
},
{
"date": "2017-09-26",
"count": 1
},
{
"date": "2017-10-16",
"count": 1
},
{
"date": "2017-10-17",
"count": 1
},
{
"date": "2017-10-19",
"count": 1
},
{
"date": "2017-11-01",
"count": 1
},
{
"date": "2017-11-07",
"count": 2
},
{
"date": "2017-11-12",
"count": 1
},
{
"date": "2017-11-23",
"count": 1
},
{
"date": "2017-11-30",
"count": 1
},
{
"date": "2017-12-01",
"count": 1
},
{
"date": "2017-12-06",
"count": 1
},
{
"date": "2017-12-13",
"count": 2
},
{
"date": "2017-12-18",
"count": 1
},
{
"date": "2017-12-24",
"count": 1
},
{
"date": "2018-01-04",
"count": 1
},
{
"date": "2018-01-05",
"count": 1
},
{
"date": "2018-01-07",
"count": 1
},
{
"date": "2018-01-08",
"count": 2
},
{
"date": "2018-01-11",
"count": 1
},
{
"date": "2018-01-15",
"count": 1
},
{
"date": "2018-01-16",
"count": 1
},
{
"date": "2018-01-30",
"count": 1
},
{
"date": "2018-01-31",
"count": 1
},
{
"date": "2018-02-01",
"count": 1
},
{
"date": "2018-02-07",
"count": 1
},
{
"date": "2018-02-09",
"count": 1
},
{
"date": "2018-02-13",
"count": 1
},
{
"date": "2018-02-23",
"count": 1
},
{
"date": "2018-02-26",
"count": 1
},
{
"date": "2018-03-02",
"count": 1
},
{
"date": "2018-03-19",
"count": 1
},
{
"date": "2018-03-28",
"count": 1
},
{
"date": "2018-03-31",
"count": 1
},
{
"date": "2018-04-04",
"count": 1
},
{
"date": "2018-04-25",
"count": 2
},
{
"date": "2018-05-02",
"count": 1
},
{
"date": "2018-05-11",
"count": 1
},
{
"date": "2018-05-12",
"count": 1
},
{
"date": "2018-05-17",
"count": 1
},
{
"date": "2018-05-18",
"count": 1
},
{
"date": "2018-05-20",
"count": 1
},
{
"date": "2018-05-30",
"count": 1
},
{
"date": "2018-06-04",
"count": 1
},
{
"date": "2018-06-05",
"count": 1
},
{
"date": "2018-06-09",
"count": 1
},
{
"date": "2018-06-21",
"count": 1
},
{
"date": "2018-06-22",
"count": 1
},
{
"date": "2018-07-18",
"count": 1
},
{
"date": "2018-08-17",
"count": 1
},
{
"date": "2018-08-25",
"count": 1
},
{
"date": "2018-08-29",
"count": 2
},
{
"date": "2018-08-30",
"count": 1
},
{
"date": "2018-09-13",
"count": 1
},
{
"date": "2018-09-14",
"count": 1
},
{
"date": "2018-09-18",
"count": 1
},
{
"date": "2018-09-19",
"count": 1
},
{
"date": "2018-09-24",
"count": 1
},
{
"date": "2018-09-25",
"count": 1
},
{
"date": "2018-09-27",
"count": 1
},
{
"date": "2018-09-30",
"count": 1
},
{
"date": "2018-10-11",
"count": 1
},
{
"date": "2018-10-19",
"count": 1
},
{
"date": "2018-10-23",
"count": 1
},
{
"date": "2018-10-31",
"count": 1
},
{
"date": "2018-11-09",
"count": 1
},
{
"date": "2018-11-13",
"count": 1
},
{
"date": "2018-11-15",
"count": 1
},
{
"date": "2018-11-24",
"count": 1
},
{
"date": "2018-12-02",
"count": 1
},
{
"date": "2018-12-10",
"count": 1
},
{
"date": "2018-12-11",
"count": 1
},
{
"date": "2019-01-01",
"count": 1
},
{
"date": "2019-01-02",
"count": 1
},
{
"date": "2019-01-04",
"count": 1
},
{
"date": "2019-01-06",
"count": 1
},
{
"date": "2019-01-10",
"count": 2
},
{
"date": "2019-01-29",
"count": 1
},
{
"date": "2019-02-05",
"count": 1
},
{
"date": "2019-02-07",
"count": 1
},
{
"date": "2019-02-20",
"count": 1
},
{
"date": "2019-02-26",
"count": 1
},
{
"date": "2019-03-03",
"count": 1
},
{
"date": "2019-03-05",
"count": 1
},
{
"date": "2019-03-06",
"count": 1
},
{
"date": "2019-03-09",
"count": 1
},
{
"date": "2019-03-11",
"count": 1
},
{
"date": "2019-03-14",
"count": 1
},
{
"date": "2019-03-15",
"count": 1
},
{
"date": "2019-03-20",
"count": 1
},
{
"date": "2019-03-21",
"count": 1
},
{
"date": "2019-03-26",
"count": 1
},
{
"date": "2019-03-27",
"count": 1
},
{
"date": "2019-04-09",
"count": 1
},
{
"date": "2019-04-12",
"count": 1
},
{
"date": "2019-04-15",
"count": 1
},
{
"date": "2019-04-16",
"count": 1
},
{
"date": "2019-04-30",
"count": 1
},
{
"date": "2019-05-02",
"count": 1
},
{
"date": "2019-05-13",
"count": 1
},
{
"date": "2019-05-18",
"count": 1
},
{
"date": "2019-06-06",
"count": 1
},
{
"date": "2019-06-07",
"count": 1
},
{
"date": "2019-06-13",
"count": 1
},
{
"date": "2019-06-18",
"count": 1
},
{
"date": "2019-06-19",
"count": 1
},
{
"date": "2019-06-21",
"count": 1
},
{
"date": "2019-07-06",
"count": 1
},
{
"date": "2019-07-09",
"count": 1
},
{
"date": "2019-07-12",
"count": 1
},
{
"date": "2019-07-14",
"count": 2
},
{
"date": "2019-07-30",
"count": 1
},
{
"date": "2019-08-01",
"count": 1
},
{
"date": "2019-08-14",
"count": 1
},
{
"date": "2019-08-19",
"count": 1
},
{
"date": "2019-08-27",
"count": 1
},
{
"date": "2019-08-28",
"count": 1
},
{
"date": "2019-09-03",
"count": 1
},
{
"date": "2019-09-07",
"count": 1
},
{
"date": "2019-09-28",
"count": 1
},
{
"date": "2019-10-10",
"count": 1
},
{
"date": "2019-11-01",
"count": 1
},
{
"date": "2019-11-07",
"count": 1
},
{
"date": "2019-11-17",
"count": 1
},
{
"date": "2019-11-19",
"count": 1
},
{
"date": "2019-12-04",
"count": 1
},
{
"date": "2019-12-06",
"count": 1
},
{
"date": "2019-12-15",
"count": 1
},
{
"date": "2019-12-18",
"count": 1
},
{
"date": "2019-12-19",
"count": 1
},
{
"date": "2019-12-28",
"count": 1
},
{
"date": "2019-12-30",
"count": 1
},
{
"date": "2020-01-02",
"count": 1
},
{
"date": "2020-01-03",
"count": 1
},
{
"date": "2020-01-06",
"count": 1
},
{
"date": "2020-01-11",
"count": 1
},
{
"date": "2020-01-14",
"count": 1
},
{
"date": "2020-01-27",
"count": 1
},
{
"date": "2020-02-02",
"count": 1
},
{
"date": "2020-02-23",
"count": 1
},
{
"date": "2020-02-25",
"count": 1
},
{
"date": "2020-02-27",
"count": 1
},
{
"date": "2020-03-07",
"count": 2
},
{
"date": "2020-03-11",
"count": 1
},
{
"date": "2020-03-12",
"count": 1
},
{
"date": "2020-03-13",
"count": 1
},
{
"date": "2020-03-20",
"count": 1
},
{
"date": "2020-03-24",
"count": 1
},
{
"date": "2020-04-09",
"count": 3
},
{
"date": "2020-04-10",
"count": 1
},
{
"date": "2020-04-11",
"count": 1
},
{
"date": "2020-04-13",
"count": 1
},
{
"date": "2020-04-26",
"count": 1
},
{
"date": "2020-04-29",
"count": 1
},
{
"date": "2020-05-26",
"count": 1
},
{
"date": "2020-05-27",
"count": 1
},
{
"date": "2020-05-29",
"count": 1
},
{
"date": "2020-06-03",
"count": 1
},
{
"date": "2020-06-04",
"count": 1
},
{
"date": "2020-06-05",
"count": 1
},
{
"date": "2020-06-06",
"count": 1
},
{
"date": "2020-06-17",
"count": 1
},
{
"date": "2020-06-18",
"count": 1
},
{
"date": "2020-06-21",
"count": 1
},
{
"date": "2020-06-22",
"count": 1
},
{
"date": "2020-06-24",
"count": 1
},
{
"date": "2020-06-29",
"count": 1
},
{
"date": "2020-07-03",
"count": 1
},
{
"date": "2020-07-04",
"count": 1
},
{
"date": "2020-07-06",
"count": 1
},
{
"date": "2020-07-08",
"count": 2
},
{
"date": "2020-07-09",
"count": 1
},
{
"date": "2020-07-10",
"count": 1
},
{
"date": "2020-07-11",
"count": 1
},
{
"date": "2020-07-14",
"count": 1
},
{
"date": "2020-07-16",
"count": 1
},
{
"date": "2020-07-27",
"count": 1
},
{
"date": "2020-07-29",
"count": 1
},
{
"date": "2020-08-03",
"count": 1
},
{
"date": "2020-08-13",
"count": 1
},
{
"date": "2020-08-18",
"count": 1
},
{
"date": "2020-08-24",
"count": 1
},
{
"date": "2020-08-25",
"count": 1
},
{
"date": "2020-08-27",
"count": 1
},
{
"date": "2020-09-01",
"count": 1
},
{
"date": "2020-09-05",
"count": 1
},
{
"date": "2020-09-10",
"count": 1
},
{
"date": "2020-09-16",
"count": 1
},
{
"date": "2020-09-17",
"count": 2
},
{
"date": "2020-09-24",
"count": 1
},
{
"date": "2020-10-04",
"count": 1
},
{
"date": "2020-10-05",
"count": 1
},
{
"date": "2020-10-08",
"count": 1
},
{
"date": "2020-10-09",
"count": 1
},
{
"date": "2020-10-11",
"count": 1
},
{
"date": "2020-10-28",
"count": 1
},
{
"date": "2020-11-09",
"count": 1
},
{
"date": "2020-11-16",
"count": 1
},
{
"date": "2020-11-18",
"count": 2
},
{
"date": "2020-11-19",
"count": 1
},
{
"date": "2020-11-25",
"count": 1
},
{
"date": "2020-11-26",
"count": 1
},
{
"date": "2020-11-27",
"count": 1
},
{
"date": "2020-12-04",
"count": 1
},
{
"date": "2020-12-07",
"count": 1
},
{
"date": "2020-12-11",
"count": 1
},
{
"date": "2020-12-12",
"count": 1
},
{
"date": "2020-12-13",
"count": 1
},
{
"date": "2020-12-29",
"count": 1
},
{
"date": "2020-12-31",
"count": 1
},
{
"date": "2021-01-09",
"count": 1
},
{
"date": "2021-01-14",
"count": 1
},
{
"date": "2021-01-18",
"count": 4
},
{
"date": "2021-01-20",
"count": 1
},
{
"date": "2021-01-25",
"count": 1
},
{
"date": "2021-01-26",
"count": 1
},
{
"date": "2021-01-31",
"count": 2
},
{
"date": "2021-02-08",
"count": 1
},
{
"date": "2021-02-15",
"count": 1
},
{
"date": "2021-02-17",
"count": 1
},
{
"date": "2021-03-16",
"count": 1
},
{
"date": "2021-03-21",
"count": 1
},
{
"date": "2021-03-22",
"count": 1
},
{
"date": "2021-03-24",
"count": 1
},
{
"date": "2021-03-25",
"count": 1
},
{
"date": "2021-03-27",
"count": 1
},
{
"date": "2021-04-07",
"count": 1
},
{
"date": "2021-04-09",
"count": 1
},
{
"date": "2021-04-10",
"count": 2
},
{
"date": "2021-04-15",
"count": 1
},
{
"date": "2021-04-24",
"count": 1
},
{
"date": "2021-04-27",
"count": 1
},
{
"date": "2021-04-28",
"count": 1
},
{
"date": "2021-04-29",
"count": 1
},
{
"date": "2021-05-08",
"count": 1
},
{
"date": "2021-05-12",
"count": 1
},
{
"date": "2021-05-19",
"count": 1
},
{
"date": "2021-05-25",
"count": 1
},
{
"date": "2021-06-16",
"count": 1
},
{
"date": "2021-06-24",
"count": 1
},
{
"date": "2021-06-27",
"count": 1
},
{
"date": "2021-06-28",
"count": 1
},
{
"date": "2021-07-02",
"count": 1
},
{
"date": "2021-07-11",
"count": 1
},
{
"date": "2021-07-13",
"count": 1
},
{
"date": "2021-07-19",
"count": 1
},
{
"date": "2021-07-29",
"count": 1
},
{
"date": "2021-08-12",
"count": 1
},
{
"date": "2021-08-17",
"count": 1
},
{
"date": "2021-08-18",
"count": 1
},
{
"date": "2021-08-24",
"count": 1
},
{
"date": "2021-08-26",
"count": 1
},
{
"date": "2021-08-30",
"count": 1
},
{
"date": "2021-09-05",
"count": 1
},
{
"date": "2021-09-17",
"count": 1
},
{
"date": "2021-09-18",
"count": 1
},
{
"date": "2021-09-23",
"count": 1
},
{
"date": "2021-09-24",
"count": 1
},
{
"date": "2021-10-07",
"count": 2
},
{
"date": "2021-10-20",
"count": 1
},
{
"date": "2021-10-22",
"count": 1
},
{
"date": "2021-10-30",
"count": 1
},
{
"date": "2021-11-02",
"count": 1
},
{
"date": "2021-11-11",
"count": 1
},
{
"date": "2021-11-19",
"count": 1
},
{
"date": "2021-12-01",
"count": 1
},
{
"date": "2021-12-08",
"count": 1
},
{
"date": "2021-12-17",
"count": 1
},
{
"date": "2021-12-18",
"count": 1
},
{
"date": "2021-12-23",
"count": 1
},
{
"date": "2021-12-27",
"count": 1
},
{
"date": "2021-12-28",
"count": 1
},
{
"date": "2021-12-29",
"count": 2
},
{
"date": "2021-12-30",
"count": 1
},
{
"date": "2022-01-14",
"count": 1
},
{
"date": "2022-01-19",
"count": 1
},
{
"date": "2022-01-26",
"count": 1
},
{
"date": "2022-02-04",
"count": 1
},
{
"date": "2022-02-05",
"count": 1
},
{
"date": "2022-02-11",
"count": 1
},
{
"date": "2022-02-15",
"count": 1
},
{
"date": "2022-02-18",
"count": 1
},
{
"date": "2022-02-20",
"count": 1
},
{
"date": "2022-02-23",
"count": 1
},
{
"date": "2022-02-25",
"count": 1
},
{
"date": "2022-02-26",
"count": 1
},
{
"date": "2022-03-10",
"count": 1
},
{
"date": "2022-03-13",
"count": 2
},
{
"date": "2022-03-15",
"count": 2
},
{
"date": "2022-03-17",
"count": 1
},
{
"date": "2022-03-20",
"count": 1
},
{
"date": "2022-03-28",
"count": 1
},
{
"date": "2022-04-14",
"count": 1
},
{
"date": "2022-04-16",
"count": 1
},
{
"date": "2022-04-17",
"count": 1
},
{
"date": "2022-04-20",
"count": 1
},
{
"date": "2022-04-30",
"count": 1
},
{
"date": "2022-05-03",
"count": 1
},
{
"date": "2022-06-04",
"count": 1
},
{
"date": "2022-06-09",
"count": 1
},
{
"date": "2022-06-11",
"count": 1
},
{
"date": "2022-06-12",
"count": 2
},
{
"date": "2022-06-13",
"count": 1
},
{
"date": "2022-06-20",
"count": 1
},
{
"date": "2022-06-30",
"count": 1
},
{
"date": "2022-07-09",
"count": 1
},
{
"date": "2022-07-11",
"count": 1
},
{
"date": "2022-07-12",
"count": 2
},
{
"date": "2022-07-13",
"count": 1
},
{
"date": "2022-07-26",
"count": 2
},
{
"date": "2022-07-27",
"count": 1
},
{
"date": "2022-08-08",
"count": 1
},
{
"date": "2022-08-20",
"count": 1
},
{
"date": "2022-08-21",
"count": 1
},
{
"date": "2022-08-25",
"count": 2
},
{
"date": "2022-08-26",
"count": 1
},
{
"date": "2022-09-01",
"count": 1
},
{
"date": "2022-09-06",
"count": 1
},
{
"date": "2022-09-07",
"count": 1
},
{
"date": "2022-09-10",
"count": 2
},
{
"date": "2022-09-13",
"count": 1
},
{
"date": "2022-09-16",
"count": 1
},
{
"date": "2022-09-17",
"count": 1
},
{
"date": "2022-09-18",
"count": 1
},
{
"date": "2022-09-25",
"count": 1
},
{
"date": "2022-09-28",
"count": 1
},
{
"date": "2022-10-02",
"count": 2
},
{
"date": "2022-10-07",
"count": 1
},
{
"date": "2022-10-09",
"count": 2
},
{
"date": "2022-10-11",
"count": 1
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-11-23",
"count": 1
},
{
"date": "2022-11-28",
"count": 1
},
{
"date": "2022-12-14",
"count": 1
},
{
"date": "2022-12-15",
"count": 2
},
{
"date": "2022-12-30",
"count": 1
},
{
"date": "2022-12-31",
"count": 1
},
{
"date": "2023-01-11",
"count": 1
},
{
"date": "2023-01-18",
"count": 1
},
{
"date": "2023-01-19",
"count": 1
},
{
"date": "2023-02-03",
"count": 2
},
{
"date": "2023-02-04",
"count": 1
},
{
"date": "2023-02-05",
"count": 2
},
{
"date": "2023-02-07",
"count": 1
},
{
"date": "2023-02-08",
"count": 1
},
{
"date": "2023-02-09",
"count": 1
},
{
"date": "2023-02-14",
"count": 1
},
{
"date": "2023-03-02",
"count": 1
},
{
"date": "2023-03-10",
"count": 1
},
{
"date": "2023-03-12",
"count": 1
},
{
"date": "2023-03-13",
"count": 2
},
{
"date": "2023-03-15",
"count": 1
},
{
"date": "2023-03-17",
"count": 1
},
{
"date": "2023-03-23",
"count": 2
},
{
"date": "2023-03-24",
"count": 1
},
{
"date": "2023-04-06",
"count": 2
},
{
"date": "2023-04-10",
"count": 1
},
{
"date": "2023-04-12",
"count": 1
},
{
"date": "2023-04-17",
"count": 1
},
{
"date": "2023-04-22",
"count": 1
},
{
"date": "2023-04-27",
"count": 1
},
{
"date": "2023-05-01",
"count": 1
},
{
"date": "2023-05-09",
"count": 1
},
{
"date": "2023-05-11",
"count": 1
},
{
"date": "2023-05-12",
"count": 2
},
{
"date": "2023-05-17",
"count": 1
},
{
"date": "2023-05-25",
"count": 1
},
{
"date": "2023-05-27",
"count": 1
},
{
"date": "2023-05-28",
"count": 1
},
{
"date": "2023-06-08",
"count": 1
},
{
"date": "2023-06-10",
"count": 1
},
{
"date": "2023-06-17",
"count": 1
},
{
"date": "2023-06-18",
"count": 2
},
{
"date": "2023-06-20",
"count": 1
},
{
"date": "2023-06-23",
"count": 1
},
{
"date": "2023-06-27",
"count": 1
},
{
"date": "2023-07-04",
"count": 1
},
{
"date": "2023-07-06",
"count": 1
},
{
"date": "2023-08-08",
"count": 1
},
{
"date": "2023-08-11",
"count": 1
},
{
"date": "2023-08-12",
"count": 1
},
{
"date": "2023-08-23",
"count": 1
},
{
"date": "2023-08-28",
"count": 1
},
{
"date": "2023-09-04",
"count": 1
},
{
"date": "2023-09-11",
"count": 1
},
{
"date": "2023-09-14",
"count": 2
},
{
"date": "2023-09-15",
"count": 1
},
{
"date": "2023-09-19",
"count": 1
},
{
"date": "2023-10-03",
"count": 1
},
{
"date": "2023-10-16",
"count": 1
},
{
"date": "2023-10-21",
"count": 1
},
{
"date": "2023-11-02",
"count": 1
},
{
"date": "2023-11-06",
"count": 1
},
{
"date": "2023-11-29",
"count": 1
},
{
"date": "2023-12-12",
"count": 1
},
{
"date": "2023-12-29",
"count": 1
},
{
"date": "2024-01-04",
"count": 1
},
{
"date": "2024-01-07",
"count": 1
},
{
"date": "2024-01-08",
"count": 1
},
{
"date": "2024-01-09",
"count": 1
},
{
"date": "2024-01-12",
"count": 1
},
{
"date": "2024-01-19",
"count": 1
},
{
"date": "2024-01-26",
"count": 1
},
{
"date": "2024-02-07",
"count": 1
},
{
"date": "2024-02-08",
"count": 1
},
{
"date": "2024-02-13",
"count": 2
},
{
"date": "2024-02-15",
"count": 1
},
{
"date": "2024-02-16",
"count": 1
},
{
"date": "2024-02-27",
"count": 1
},
{
"date": "2024-03-11",
"count": 1
},
{
"date": "2024-03-12",
"count": 1
},
{
"date": "2024-03-22",
"count": 1
},
{
"date": "2024-04-03",
"count": 1
},
{
"date": "2024-04-04",
"count": 1
},
{
"date": "2024-04-07",
"count": 2
},
{
"date": "2024-04-09",
"count": 1
},
{
"date": "2024-04-13",
"count": 1
},
{
"date": "2024-04-17",
"count": 2
},
{
"date": "2024-04-21",
"count": 1
},
{
"date": "2024-04-22",
"count": 1
},
{
"date": "2024-04-26",
"count": 1
},
{
"date": "2024-05-04",
"count": 1
},
{
"date": "2024-05-10",
"count": 1
},
{
"date": "2024-05-11",
"count": 2
},
{
"date": "2024-05-20",
"count": 1
},
{
"date": "2024-06-04",
"count": 1
},
{
"date": "2024-06-09",
"count": 1
},
{
"date": "2024-06-15",
"count": 1
},
{
"date": "2024-06-27",
"count": 1
},
{
"date": "2024-06-29",
"count": 1
},
{
"date": "2024-07-09",
"count": 1
},
{
"date": "2024-07-12",
"count": 1
},
{
"date": "2024-07-14",
"count": 1
},
{
"date": "2024-08-05",
"count": 1
},
{
"date": "2024-08-15",
"count": 1
},
{
"date": "2024-08-20",
"count": 1
},
{
"date": "2024-08-24",
"count": 2
},
{
"date": "2024-08-27",
"count": 2
},
{
"date": "2024-08-30",
"count": 1
},
{
"date": "2024-08-31",
"count": 1
},
{
"date": "2024-09-05",
"count": 1
},
{
"date": "2024-09-19",
"count": 1
},
{
"date": "2024-09-28",
"count": 1
},
{
"date": "2024-10-14",
"count": 1
},
{
"date": "2024-10-22",
"count": 1
},
{
"date": "2024-11-07",
"count": 1
},
{
"date": "2024-11-13",
"count": 2
},
{
"date": "2024-11-24",
"count": 1
},
{
"date": "2024-11-26",
"count": 1
},
{
"date": "2025-01-11",
"count": 1
},
{
"date": "2025-01-23",
"count": 1
},
{
"date": "2025-01-26",
"count": 1
},
{
"date": "2025-02-01",
"count": 1
},
{
"date": "2025-02-04",
"count": 1
},
{
"date": "2025-02-11",
"count": 2
},
{
"date": "2025-02-16",
"count": 1
},
{
"date": "2025-02-17",
"count": 2
},
{
"date": "2025-02-26",
"count": 1
},
{
"date": "2025-03-10",
"count": 1
},
{
"date": "2025-03-14",
"count": 1
},
{
"date": "2025-03-28",
"count": 1
},
{
"date": "2025-04-06",
"count": 1
},
{
"date": "2025-04-08",
"count": 1
},
{
"date": "2025-04-11",
"count": 1
},
{
"date": "2025-04-15",
"count": 1
},
{
"date": "2025-05-08",
"count": 1
},
{
"date": "2025-05-24",
"count": 1
},
{
"date": "2025-06-08",
"count": 1
},
{
"date": "2025-06-14",
"count": 1
},
{
"date": "2025-07-01",
"count": 1
},
{
"date": "2025-07-08",
"count": 1
},
{
"date": "2025-07-15",
"count": 1
},
{
"date": "2025-07-28",
"count": 1
},
{
"date": "2025-08-05",
"count": 1
},
{
"date": "2025-08-06",
"count": 1
},
{
"date": "2025-08-24",
"count": 1
},
{
"date": "2025-08-30",
"count": 1
},
{
"date": "2025-09-21",
"count": 1
},
{
"date": "2025-10-02",
"count": 1
},
{
"date": "2025-10-03",
"count": 1
},
{
"date": "2025-11-03",
"count": 1
},
{
"date": "2025-11-06",
"count": 3
},
{
"date": "2025-11-09",
"count": 1
},
{
"date": "2025-11-11",
"count": 1
},
{
"date": "2025-11-14",
"count": 1
},
{
"date": "2025-11-15",
"count": 1
},
{
"date": "2025-11-25",
"count": 1
},
{
"date": "2025-11-26",
"count": 1
},
{
"date": "2025-12-05",
"count": 1
},
{
"date": "2025-12-13",
"count": 1
},
{
"date": "2025-12-18",
"count": 2
},
{
"date": "2026-01-20",
"count": 1
},
{
"date": "2026-01-29",
"count": 1
},
{
"date": "2026-02-10",
"count": 1
},
{
"date": "2026-02-23",
"count": 1
},
{
"date": "2026-02-24",
"count": 1
},
{
"date": "2026-03-06",
"count": 1
},
{
"date": "2026-03-07",
"count": 1
},
{
"date": "2026-03-08",
"count": 1
},
{
"date": "2026-03-10",
"count": 1
},
{
"date": "2026-03-11",
"count": 1
},
{
"date": "2026-04-09",
"count": 1
},
{
"date": "2026-04-28",
"count": 2
},
{
"date": "2026-04-29",
"count": 1
},
{
"date": "2026-05-11",
"count": 1
}
],
"complete": true,
"collected": 813,
"total_stars": 813
},
"open_issues_and_prs": 219
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile",
"documentation/Makefile",
"examples/doxygen/Makefile",
"examples/specific/Makefile",
"examples/tinyxml/Makefile",
"tests/warnings/Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 124574,
"source_files_sampled": 196,
"oversized_source_files": 2,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"pyproject.toml"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 22,
"malicious_count": 0,
"assessed_package": "pypi:breathe@4.36.0",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"pypi"
],
"dependencies": [
{
"name": "Sphinx",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=7.2"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "sphinx",
"direct": true,
"version": null,
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 1,
"direct_count": 1,
"indirect_count": 0
}
},
"maintainership": {
"issues": {
"open_prs": 23,
"merged_prs": 303,
"open_issues": 196,
"closed_ratio": 0.685,
"closed_issues": 427,
"closed_unmerged_prs": 88
},
"bus_factor": 2,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "michaeljones",
"commits": 675,
"avatar_url": "https://avatars.githubusercontent.com/u/5390?v=4"
},
{
"type": "User",
"login": "vermeeren",
"commits": 329,
"avatar_url": "https://avatars.githubusercontent.com/u/5957454?v=4"
},
{
"type": "User",
"login": "vitaut",
"commits": 219,
"avatar_url": "https://avatars.githubusercontent.com/u/576385?v=4"
},
{
"type": "User",
"login": "jakobandersen",
"commits": 199,
"avatar_url": "https://avatars.githubusercontent.com/u/6465735?v=4"
},
{
"type": "User",
"login": "Rouslan",
"commits": 62,
"avatar_url": "https://avatars.githubusercontent.com/u/266116?v=4"
},
{
"type": "User",
"login": "2bndy5",
"commits": 41,
"avatar_url": "https://avatars.githubusercontent.com/u/14963867?v=4"
},
{
"type": "User",
"login": "AA-Turner",
"commits": 37,
"avatar_url": "https://avatars.githubusercontent.com/u/9087854?v=4"
},
{
"type": "User",
"login": "JasperCraeghs",
"commits": 22,
"avatar_url": "https://avatars.githubusercontent.com/u/28319872?v=4"
},
{
"type": "User",
"login": "Andne",
"commits": 17,
"avatar_url": "https://avatars.githubusercontent.com/u/3787585?v=4"
},
{
"type": "User",
"login": "SylvainCorlay",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/2397974?v=4"
}
],
"contributors_sampled": 99,
"top_contributor_share": 0.372
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"cache_doxygen.yml",
"create-release.yml",
"documentation.yml",
"lint.yml",
"unit_tests.yml"
],
"has_docs_dir": true,
"linter_configs": [
".ruff.toml"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 6,
"reason": "4 out of 6 merged PRs checked by a CI test -- score normalized to 6",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 1/13 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 77 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 9,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 8,
"reason": "3 out of the last 3 releases have a total of 3 signed artifacts.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "021d6e52e8e29660f0ef3a42287db60b71e6ab6d",
"ran_at": "2026-07-21T23:56:17Z",
"aggregate_score": 5.1,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-03-01T08:15:31Z",
"oldest_open_prs": [
{
"number": 799,
"created_at": "2022-02-06T10:57:13Z",
"last_comment_at": "2022-06-28T18:58:12Z",
"last_comment_author": "dmg0345"
},
{
"number": 891,
"created_at": "2023-02-22T04:52:28Z",
"last_comment_at": "2023-12-04T12:19:06Z",
"last_comment_author": "vermeeren"
},
{
"number": 910,
"created_at": "2023-04-27T23:05:04Z",
"last_comment_at": "2024-03-25T17:39:13Z",
"last_comment_author": "2bndy5"
},
{
"number": 918,
"created_at": "2023-05-17T00:19:21Z",
"last_comment_at": "2025-04-24T15:09:27Z",
"last_comment_author": "AA-Turner"
},
{
"number": 920,
"created_at": "2023-05-17T21:27:38Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 966,
"created_at": "2023-12-21T15:20:01Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 968,
"created_at": "2024-01-24T09:48:38Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 980,
"created_at": "2024-04-14T06:47:26Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1000,
"created_at": "2024-10-23T05:45:31Z",
"last_comment_at": "2025-03-10T00:12:51Z",
"last_comment_author": "hojalot"
},
{
"number": 1034,
"created_at": "2025-07-02T16:43:49Z",
"last_comment_at": "2025-07-13T15:53:15Z",
"last_comment_author": "Rouslan"
},
{
"number": 1040,
"created_at": "2025-10-01T10:28:20Z",
"last_comment_at": "2025-10-01T10:28:32Z",
"last_comment_author": "jbelloncastro"
},
{
"number": 1046,
"created_at": "2025-11-10T17:45:00Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1047,
"created_at": "2025-11-17T10:34:11Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1048,
"created_at": "2025-11-29T13:39:34Z",
"last_comment_at": "2026-01-09T09:41:35Z",
"last_comment_author": "RaumZeit"
},
{
"number": 1050,
"created_at": "2026-01-01T08:13:42Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1055,
"created_at": "2026-02-23T13:32:38Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1057,
"created_at": "2026-03-22T13:54:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1059,
"created_at": "2026-04-08T17:05:03Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1061,
"created_at": "2026-05-05T14:28:25Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1064,
"created_at": "2026-07-18T14:07:18Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2025-12-01T11:01:39Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 30,
"created_at": "2011-05-13T20:59:20Z",
"last_comment_at": "2018-05-23T17:40:02Z",
"last_comment_author": "vermeeren"
},
{
"number": 111,
"created_at": "2014-07-27T15:03:48Z",
"last_comment_at": "2018-06-03T20:53:09Z",
"last_comment_author": "vermeeren"
},
{
"number": 155,
"created_at": "2015-01-21T20:03:43Z",
"last_comment_at": "2018-06-03T20:16:50Z",
"last_comment_author": "vermeeren"
},
{
"number": 201,
"created_at": "2015-06-14T02:28:39Z",
"last_comment_at": "2015-06-16T15:30:14Z",
"last_comment_author": "vitaut"
},
{
"number": 216,
"created_at": "2015-08-27T13:49:09Z",
"last_comment_at": "2022-12-21T08:50:34Z",
"last_comment_author": "duchengyao"
},
{
"number": 257,
"created_at": "2016-04-22T15:43:48Z",
"last_comment_at": "2016-04-25T07:56:26Z",
"last_comment_author": "dnelson"
},
{
"number": 264,
"created_at": "2016-06-03T18:12:22Z",
"last_comment_at": "2018-06-09T19:31:55Z",
"last_comment_author": "vermeeren"
},
{
"number": 265,
"created_at": "2016-06-07T09:21:23Z",
"last_comment_at": "2018-06-02T22:04:29Z",
"last_comment_author": "vermeeren"
},
{
"number": 287,
"created_at": "2016-11-19T21:11:57Z",
"last_comment_at": "2023-10-27T23:07:00Z",
"last_comment_author": "TheBrugne"
},
{
"number": 293,
"created_at": "2016-12-19T09:16:34Z",
"last_comment_at": "2020-04-24T17:36:35Z",
"last_comment_author": "vermeeren"
},
{
"number": 304,
"created_at": "2017-01-18T17:45:15Z",
"last_comment_at": "2017-04-18T05:37:58Z",
"last_comment_author": "chsasank"
},
{
"number": 305,
"created_at": "2017-01-19T16:38:27Z",
"last_comment_at": "2017-01-20T08:39:04Z",
"last_comment_author": "agarciamontoro"
},
{
"number": 315,
"created_at": "2017-02-17T17:42:41Z",
"last_comment_at": "2023-02-22T05:00:54Z",
"last_comment_author": "AnthonyDiGirolamo"
},
{
"number": 321,
"created_at": "2017-02-21T22:02:36Z",
"last_comment_at": "2023-12-17T01:16:30Z",
"last_comment_author": "ReenigneArcher"
},
{
"number": 326,
"created_at": "2017-03-29T22:50:40Z",
"last_comment_at": "2018-06-09T19:14:34Z",
"last_comment_author": "vermeeren"
},
{
"number": 328,
"created_at": "2017-04-15T03:53:17Z",
"last_comment_at": "2021-03-23T15:52:22Z",
"last_comment_author": "jakobandersen"
},
{
"number": 356,
"created_at": "2017-10-18T07:39:25Z",
"last_comment_at": "2020-05-04T08:39:16Z",
"last_comment_author": "jakobandersen"
},
{
"number": 357,
"created_at": "2017-11-10T20:35:27Z",
"last_comment_at": "2018-09-10T16:35:52Z",
"last_comment_author": "vermeeren"
},
{
"number": 363,
"created_at": "2018-02-03T05:29:02Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 367,
"created_at": "2018-03-23T15:16:10Z",
"last_comment_at": "2018-05-21T19:12:27Z",
"last_comment_author": "vermeeren"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/breathe-doc/breathe",
"host": "github.com",
"name": "breathe",
"owner": "breathe-doc"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": "Abandonment Policy applies a 85% multiplier to weighted overall health.",
"notes": [
{
"code": "abandonment_overall_adjustment",
"params": {
"cap": 0,
"pct": 85
}
}
],
"value": 50,
"inputs": {
"security": 61,
"vitality": 27,
"community": 69,
"governance": 62,
"engineering": 82,
"abandonment_cap": null,
"abandonment_state": "at_risk",
"abandonment_multiplier": 85,
"weighted_overall_before_abandonment": 59,
"overall_after_abandonment_multiplier": 50
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "critical",
"name": "Vitality",
"value": 27,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 9,
"inputs": {
"commits_last_year": 2,
"human_commit_share": 0.97,
"days_since_last_push": 201,
"active_weeks_last_year": 2
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 201 days ago",
"points": 3.6,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 201
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "2/52 weeks with commits",
"points": 1.4,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 2
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "2 commits in the last year",
"points": 4.3,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 2
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "moderate",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"releases_count": 12,
"latest_release_tag": "v5.0.0a2",
"releases_from_tags": false,
"days_since_latest_release": 378,
"mean_days_between_releases": 170
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "12 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 12
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 378 days ago",
"points": 7.2,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 378
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~170 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 170
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "3 out of the last 3 releases have a total of 3 signed artifacts.",
"points": 8,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"cap": null,
"state": "at_risk",
"guards": [
"dependencies_clean"
],
"signals": [
"issue_rot",
"scorecard_unmaintained"
],
"red_flag": true,
"multiplier_pct": 85,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": 15,
"unanswered_open_issues": 8,
"days_since_last_merged_pr": 232,
"days_since_last_human_commit": 378,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "no human commit for 378 days; 2 unmet obligation(s): issues unanswered, Scorecard reports it unmaintained",
"points": 85,
"status": "partial",
"details": [
{
"code": "abandonment_flagged",
"params": {
"days": 378,
"count": 2,
"signals": "issues unanswered, Scorecard reports it unmaintained"
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 69,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 73,
"inputs": {
"forks": 211,
"stars": 813,
"watchers": 14,
"growth_state": "organic",
"growth_factor_pct": 100
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "813 stars",
"points": 47.2,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 813
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "211 forks",
"points": 19.4,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 211
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "14 watchers",
"points": 6.2,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 14
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "license file present, not a recognized license",
"points": 16.9,
"status": "partial",
"details": [
{
"code": "license_custom",
"params": {}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 62,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 99,
"top_contributor_share": 0.372
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 37% of commits",
"points": 14.1,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 37
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "99 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 99
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 77 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"merged_prs": 303,
"open_issues": 196,
"closed_issues": 427,
"issue_closed_ratio": 0.685,
"closed_unmerged_prs": 88
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "68% of issues closed",
"points": 32,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 68
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "303/391 decided PRs merged",
"points": 29.6,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 303,
"decided": 391
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 1/13 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "at_risk",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 49,
"inputs": {
"followers": 13,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "breathe-doc",
"public_repos": 1,
"account_age_days": 1598
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "13 followers of breathe-doc",
"points": 8.2,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 13,
"login": "breathe-doc"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "1 public repos, account ~4 yr old",
"points": 10.9,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 1
}
},
{
"code": "account_age_years",
"params": {
"years": 4
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "good",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 79,
"inputs": {
"packages": [
"breathe"
],
"ecosystems": "pypi",
"any_deprecated": false,
"min_days_since_publish": 514
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on pypi",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "pypi"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 514 days ago",
"points": 14,
"status": "partial",
"details": [
{
"code": "publish_recency",
"params": {
"days": 514
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "68 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 68
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 82,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "5 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 5
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": ".ruff.toml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".ruff.toml"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "4 out of 6 merged PRs checked by a CI test -- score normalized to 6",
"points": 12,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [
"sphinx",
"doxygen"
],
"has_wiki": false,
"homepage": "https://breathe-doc.org",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://breathe-doc.org",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "2 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 2
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 61,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 51,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 5.1
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "4 out of 6 merged PRs checked by a CI test -- score normalized to 6",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 1/13 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 77 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "3 out of the last 3 releases have a total of 3 signed artifacts.",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:breathe@4.36.0 runtime dependency closure — what installing the published package pulls in — 22 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "pypi:breathe@4.36.0",
"assessed": 22
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 22,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 22,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 17
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "at_risk",
"name": "AI Readiness",
"value": 41,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 10,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.186,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "18 of 97 human commits state their intent (structured subject or explanatory body)",
"points": 9.9,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 18,
"sampled": 97
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 59,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [
"Makefile",
"documentation/Makefile",
"examples/doxygen/Makefile",
"examples/specific/Makefile",
"examples/tinyxml/Makefile",
"tests/warnings/Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.03
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile, documentation/Makefile, examples/doxygen/Makefile, examples/specific/Makefile, examples/tinyxml/Makefile, tests/warnings/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile, documentation/Makefile, examples/doxygen/Makefile, examples/specific/Makefile, examples/tinyxml/Makefile, tests/warnings/Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".ruff.toml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".ruff.toml"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "3 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 3,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"primary_language": "Python",
"largest_source_bytes": 124574,
"source_files_sampled": 196,
"oversized_source_files": 2
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Python without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Python"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "2/196 source files over 60KB",
"points": 54.4,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 196,
"oversized": 2
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [],
"report_type": "repository",
"generated_at": "2026-07-21T23:56:40.947145Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/b/breathe-doc/breathe.svg",
"full_name": "breathe-doc/breathe",
"license_state": "custom",
"license_spdx": null
}