公开记录
软件健康报告模式 0.26.0 · 指标 1.13.0 · 2026-07-22 01:33 UTC

Python-Markdown / markdown

A Python implementation of John Gruber’s Markdown with Extension support.

PythonBSD-3-Clause★ 4,226 星标⑂ 902 复刻始于 2010年5月在 GitHub 上查看 ↗

Python-Markdown/markdown 的健康指数为 100 分中的 76 分,处于「良好」区间。 其得分最高的类别是Community & Adoption(93/100),最低的是AI Readiness(42/100)。 最近一次更新在 13 天前。 近期的大部分工作由 2 位贡献者完成。

76
总分 / 100
良好

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 49(有风险)的上限。AI 就绪度不计入总体分。

76
优秀85-100堪称典范;基本满足所有检验标准
良好70-84健康;仅有轻微不足
中等50-69可接受,但存在明显不足;建议进行审查
存在风险30-49存在重大薄弱环节;采用时应保持审慎
危急1-29问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

每条轴代表一个类别。形状比平均值更重要——健康的对象会填满整个图形,而“一峰一谷”式画像意味着某一维度的优势正掩盖另一维度的风险。

所有权

68 关注者4 个公开仓库始于 2015年3月

该仓库由组织支持——共同承担、可问责的托管责任,可延续于任何单一维护者之后。

软件包生态系统

注册表软件包版本月下载量版本数最近发布标签
PyPIMarkdown3.10.2-60162 天前markdownmarkdown-parserpython-markdownmarkdown-to-html

按类别列示的指标

活力

项目是否仍有生命——是否仍在编写代码,是否仍在发布版本?

66中等 · 占总体的 22%
评分方式
28.8/36推送新近度 — 最近一次推送于 13 天前
9.7/36提交节奏 — 52 周中有 14 周有提交
12.4/18提交量 — 最近一年 23 次提交
10/10OpenSSF Scorecard:Maintained — 4 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10
所用输入
commits_last_year23
human_commit_share1
days_since_last_push13
active_weeks_last_year14

发布纪律

74良好
评分方式
27/27有发布版本 — 已发布 11 个发布版本
27/36发布时效 — 最近一次发布版本于 162 天前
19.8/27发布节奏 — 约每 84.6 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — Project has not signed or included provenance with any releases.
所用输入
releases_count11
latest_release_tag3.10.2
releases_from_tags
days_since_latest_release162
mean_days_between_releases84.6

社区与采用

项目是否拥有用户、下载量与关注度,并具备欢迎贡献者参与的配置?

93优秀 · 占总体的 18%
评分方式
58.8/60星标 — 4,226 个星标
24.6/25复刻 — 902 个复刻
10.4/15关注者 — 75 位关注者
所用输入
forks902
stars4,226
watchers75
growth_stateorganic
growth_factor_pct100

社区健康

92优秀
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(BSD-3-Clause)
18/18CONTRIBUTING 指南
13.5/13.5行为准则
0/7.2议题模板
6.3/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template

可持续性与治理

项目能否在其成员之外延续——巴士系数、响应能力、由谁支持,以及软件包的维护状况?

74良好 · 占总体的 24%
评分方式
25.2/54巴士系数 — 2 位贡献者贡献了半数提交
12.2/22.5提交分布 — 头号贡献者编写了 46% 的提交
13.5/13.5贡献者广度 — 100 位贡献者
10/10OpenSSF Scorecard:Contributors — project has 38 contributing companies or organizations
所用输入
bus_factor2
contributors_sampled100
top_contributor_share0.46
评分方式
45.5/46.8议题解决 — 97% 的议题已关闭
28.4/38.3PR 接受 — 已裁定的 PR 中 478/643 已合并
10.5/15OpenSSF Scorecard:Code-Review — Found 20/28 approved changesets -- score normalized to 7
所用输入
merged_prs478
open_issues26
closed_issues933
issue_closed_ratio0.973
closed_unmerged_prs165
评分方式
30/30所有权背书 — 组织持有
0/20已验证域名
13.2/25所有者影响力 — Python-Markdown 有 68 位关注者
17.1/25既往记录 — 4 个公开仓库,账户约 11 年
所用输入
followers68
owner_typeOrganization
is_verified
owner_loginPython-Markdown
public_repos4
account_age_days4,159
评分方式
25/25已发布且可解析 — pypi 上有 1 个软件包
35/35发布时效 — 最近一次发布于 162 天前
20/20版本历史 — 60 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packagesMarkdown
ecosystemspypi
any_deprecated
min_days_since_publish162

工程质量

基础的工程与文档实践是否到位?

89优秀 · 占总体的 20%

工程实践

82良好
评分方式
24/24CI 工作流 — 6 个工作流
24/24存在测试
16/16Linter 配置 — tox.ini
0/9.6Pre-commit 钩子
0/6.4.editorconfig
18/20OpenSSF Scorecard:CI-Tests — 26 out of 27 merged PRs checked by a CI test -- score normalized to 9
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

文档

100优秀
评分方式
30/30README
25/25文档目录
15/15文档 / 主页站点 — https://python-markdown.github.io/
10/10仓库描述
10/10主题标签 — 6 个主题标签
10/10Wiki
所用输入
topicspython-markdown, markdown, markdown-parser, markdown-to-html, python, python3
has_wiki
homepagehttps://python-markdown.github.io/
has_readme
has_docs_dir
has_description

安全

可见的安全与供应链实践是否稳固,且不存在未解决的高风险司法辖区暴露?

56中等 · 占总体的 16%

安全态势

56中等
评分方式
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — 无数据
2.2/2.5CI-Tests — 26 out of 27 merged PRs checked by a CI test -- score normalized to 9
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
5.2/7.5Code-Review — Found 20/28 approved changesets -- score normalized to 7
2.5/2.5Contributors — project has 38 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
5/5Fuzzing — project is fuzzed
2.5/2.5许可证 — license file detected
7.5/7.5Maintained — 4 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate5.6
已排除计分(无数据或不适用):branch_protection。 其余权重已重新归一化。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 0.0,因此单独呈现,不影响总体健康评分。

42存在风险 · 占总体的 0%
评分方式
0/45代理指令 — 没有 CLAUDE.md / AGENTS.md / 编辑器规则
0/15机器可读文档(llms.txt)
24/40可读的提交历史 — 100 次人类提交中有 45 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.45
agent_instruction_files
agent_instruction_max_bytes
评分方式
18/18一条命令的引导启动 — makefile
22/22自动化测试
11/11Lint / 格式化配置 — tox.ini
0/11静态类型检查
0/10可复现环境
0/10已体现的代理实践 — 最近 100 次提交中没有代理编写的提交
0/8自动化维护 — 未观察到自动依赖更新
0/10OpenSSF Scorecard:Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
所用输入
has_nix
has_tests
lockfiles
has_dockerfile
typed_language
bootstrap_filesmakefile
has_devcontainer
has_linter_config
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
评分方式
0/45可类型检查的代码 — Python,未配置类型检查
54.2/55可控的文件大小 — 采样的 71 个源文件中有 1 个超过 60KB
所用输入
primary_languagePython
largest_source_bytes60,063
source_files_sampled71
oversized_source_files1

关键数据

4,226GitHub 星标
100贡献者
23最近 12 个月提交数
13距最近推送天数
11发布版本数
2巴士系数(bus factor)
26开放议题
PyPI软件包生态系统数

更多细节

Star 与 Fork 历史 4,226 ★ / 902 ⇿
4,226Star
902Fork
11发布

每颗 star 和每个 fork 的添加时间,来自 GitHub 并按天汇总。累计增长位于其构成来源——每日新增——的正上方,二者可相互对照:稳定的自然增长与短暂的突增形态截然不同。当这一差别可被衡量时,它会作为增长真实性予以报告。

仅显示最近的历史——该仓库超出采集窗口,因此未采集最早的历史记录。

01,0002,0003,0004,0005,0004,226883242011-052018-122026-07
主版本 0次版本 2修订 6

每个点涵盖 14 天。

OpenSSF Scorecard 5.6 / 10
5.6综合

来自开源项目 OpenSSF Scorecard 的独立、工具无关的安全评估。每项检查奖励的是安全实践本身,而非特定供应商的工具。Scorecard 无法判定的检查项标记为 不适用,并从安全评分中剔除(绝不按零分计)。Scorecard v5.5.0 · 2026-07-22 01:32 UTC

10Binary-Artifactsno binaries found in the repo
不适用Branch-Protectioninternal 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
9CI-Tests26 out of 27 merged PRs checked by a CI test -- score normalized to 9
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
7Code-ReviewFound 20/28 approved changesets -- score normalized to 7
10Contributorsproject has 38 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
10Fuzzingproject is fuzzed
10Licenselicense file detected
10Maintained4 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
全部依赖 0

来自 GitHub 依赖图的完整解析依赖集合:0 个直接依赖与 0 个间接(传递)软件包。仓库提交锁文件时,传递闭包才是完整的。

注册表软件包版本关系
依赖安全公告 未评估

本报告未能完成公告比对:No resolved dependencies to assess

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [
        "python-markdown",
        "markdown",
        "markdown-parser",
        "markdown-to-html",
        "python",
        "python3"
      ],
      "is_fork": false,
      "size_kb": 3524,
      "has_wiki": true,
      "homepage": "https://python-markdown.github.io/",
      "languages": {
        "Shell": 679,
        "Python": 782277,
        "Makefile": 1136
      },
      "pushed_at": "2026-07-08T18:19:24Z",
      "created_at": "2010-05-29T02:59:45Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-20T20:22:26Z",
      "description": "A Python implementation of John Gruber’s Markdown with Extension support.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "BSD-3-Clause",
      "default_branch": "master",
      "license_spdx_raw": "BSD-3-Clause",
      "primary_language": "Python",
      "significant_languages": [
        "Python"
      ]
    },
    "owner": {
      "blog": null,
      "name": "Python-Markdown",
      "type": "Organization",
      "login": "Python-Markdown",
      "company": null,
      "location": null,
      "followers": 68,
      "avatar_url": "https://avatars.githubusercontent.com/u/11278576?v=4",
      "created_at": "2015-03-02T20:04:32Z",
      "is_verified": null,
      "public_repos": 4,
      "account_age_days": 4159
    },
    "license": {
      "state": "standard",
      "spdx_id": "BSD-3-Clause",
      "raw_spdx": "BSD-3-Clause",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "3.10.2",
          "kind": "patch",
          "published_at": "2026-02-09T14:57:29Z"
        },
        {
          "tag": "3.10.1",
          "kind": "patch",
          "published_at": "2026-01-21T18:09:32Z"
        },
        {
          "tag": "3.10.0",
          "kind": "minor",
          "published_at": "2025-11-03T19:51:17Z"
        },
        {
          "tag": "3.9.0",
          "kind": "minor",
          "published_at": "2025-09-04T20:25:24Z"
        },
        {
          "tag": "3.8.2",
          "kind": "patch",
          "published_at": "2025-06-19T17:12:46Z"
        },
        {
          "tag": "3.8.1",
          "kind": "patch",
          "published_at": "2025-06-18T14:50:51Z"
        },
        {
          "tag": "3.8",
          "kind": "other",
          "published_at": "2025-04-11T14:47:13Z"
        },
        {
          "tag": "3.7",
          "kind": "other",
          "published_at": "2024-08-16T17:12:04Z"
        },
        {
          "tag": "3.6",
          "kind": "other",
          "published_at": "2024-03-14T18:35:10Z"
        },
        {
          "tag": "3.5.2",
          "kind": "patch",
          "published_at": "2024-01-10T15:19:41Z"
        },
        {
          "tag": "3.5.1",
          "kind": "patch",
          "published_at": "2023-10-31T19:59:26Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "8453df010daf9547efcc20a05bb12c0e2fd2016a",
          "body": "* Document the priorities assigned by each extension for the API Reference.\n\n* Link Extension API docs to API Reference.\n\n    Various sections were reduced to avoid repetition with the API Reference.\n    Other sections were expanded to provide more links. A deeper explanation\n    of the registry priority has been added. \n\nFixes 1612.",
          "is_bot": false,
          "headline": "Update Extension API documentation",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2026-07-08T18:19:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "93ac448b161deb5a4578c7f56bd5f5c39dc280c3",
          "body": "This has been the de facto policy for some time. We are now officially\ndocumenting it. Relates to #1612.\n\nSome recommendations for alternative extensions have been included.",
          "is_bot": false,
          "headline": "Document that all extensions are in maintenance mode",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2026-07-02T12:49:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d38fd4a6ee4ef897812bc481855a7f9d8a4ad4f1",
          "body": "The motivation for adopting this policy is to avoid wasting the maintainers'\ntime. We work on this project as volunteers and it is an unproductive waste of\ntime to interact with contributors who do not understand their contributions.\n\nWhile we generaly would prefer to receive contributions which are\n[…]\nalue in limited ways.\nTherefore, we have attempted to create a policy which allows use of such tools\nwhile also holding the contributor accountable. Hopefully this accomplishes our\ngoal. Closes #1610.",
          "is_bot": false,
          "headline": "Create AI Policy",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2026-06-29T19:05:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ddead47873e7918829e1d8b0eaee6ab725793cc9",
          "body": "Fixes #1604.",
          "is_bot": false,
          "headline": "Prevent mixed =/- chars in Setext-style headings",
          "author_name": "RoomWithOutRoof",
          "author_login": "Jah-yee",
          "committed_at": "2026-05-26T13:19:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7a0efb3a7c36d6b8005403122705662bc17c904",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.10.2",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2026-02-09T14:54:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "630183336bda57c258becc3ed229105481876a7e",
          "body": "Recommend JustHTML as an HTML sanitizer with bleach and nh3 as alternatives.\n\nReorganize cli.md for clarity.\n\nResolves #1479.",
          "is_bot": false,
          "headline": "Document HTML sanitation policy",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2026-02-06T14:36:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f29f1a69d236f5bb11645c2fa03fcf701487c8c",
          "body": "Include hack so we don't break MkDocs.",
          "is_bot": false,
          "headline": "More reliable fix for `</`",
          "author_name": "Isaac Muse",
          "author_login": "facelessuser",
          "committed_at": "2026-02-03T16:20:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4386475a6b6daea43b7d7717add4271adc9a3c1",
          "body": "Fixes #1590",
          "is_bot": false,
          "headline": "Fix regression of special comments",
          "author_name": "facelessuser",
          "author_login": "facelessuser",
          "committed_at": "2026-02-02T18:12:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5fa5b86e8ec380cbc520cfc637d72c779e5c601",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.10.1",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2026-01-21T18:03:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9253495f5d9919f2fdd5e147832b5fc21330f65",
          "body": "- Have `parse_comment` handle bad `<!--` cases.\n- `handle_comment` only needs to handle the `</` case for comments.\n  Provide a more reliable way to calculate the index to check for this\n  case.\n- Ensure `override_comment_update` is reset, just in case.\n\nResolves #1586\n\n* Fix spelling\n\n* Add changelog entry",
          "is_bot": false,
          "headline": "More HTML fixes",
          "author_name": "Isaac Muse",
          "author_login": "facelessuser",
          "committed_at": "2026-01-21T16:35:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9933a0a4699f3dea91f46528a2bf54863f531c08",
          "body": "This reverts commit 07dfa4eb43f7a2ab3181b4f842a960a03a6c1221.",
          "is_bot": false,
          "headline": "Revert \"Allow reference links with backticks\"",
          "author_name": "Isaac Muse",
          "author_login": "facelessuser",
          "committed_at": "2025-12-30T15:31:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07dfa4eb43f7a2ab3181b4f842a960a03a6c1221",
          "body": "Fixes #495.",
          "is_bot": false,
          "headline": "Allow reference links with backticks",
          "author_name": "Martyn P",
          "author_login": "martynp",
          "committed_at": "2025-12-29T14:55:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb6b27a6ff90980b5bcb0cd51528a7c9dc3a93ca",
          "body": "The `updatepos()` override was resetting the parser position to `0`,\ncausing infinite loops when multiple bogus/unclosed comments\nappeared in the input (e.g., `</` or `<!--` followed by non-standard\ncharacters). Now tracks the position of the triggering `<` and\nadvances past it instead of rewinding to the start of the buffer.\n\nFixes #1578.\n\n* update changelog",
          "is_bot": false,
          "headline": "Fix infinite loop when text contains multiple unclosed comments",
          "author_name": "Ben Tucker",
          "author_login": "btucker",
          "committed_at": "2025-12-29T14:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89112c293f7b399ae8808f3a06306f46601e9684",
          "body": null,
          "is_bot": false,
          "headline": "Make the docs build successfully with mkdocstrings-python 2.0",
          "author_name": "Dmitry Shachnev",
          "author_login": "mitya57",
          "committed_at": "2025-12-11T15:40:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "961856ceb30623b929d8b7abdf5ed7074db7184c",
          "body": "Fixes #1573.",
          "is_bot": false,
          "headline": "Update link",
          "author_name": "Daniel Bovensiepen Li",
          "author_login": "bovi",
          "committed_at": "2025-12-10T20:43:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b49115b1002142afbd84b3002f13c0e98a0f487",
          "body": "When inline Markdown elements are nested, each nested level contains its\nown placeholder. Therefore, when unescaping, the regex substitution needs\nto be run against each nested level. As this is nested inside the match, it ensures\nno more than one non-matching regex will be run in each instance.\n\nCloses #1571.",
          "is_bot": false,
          "headline": "Ensure nested elements inside inline comments are properly unescaped.",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-12-03T14:02:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22e89c1fc346f72218a10e392a0c3b4731912522",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.10",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-11-03T19:19:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c138aea5139a6aceae05bb957e866d9ce7577b94",
          "body": "Python officially released 3.14 on 2025-10-07 and ended support for 3.9 on 2025-10-31.",
          "is_bot": false,
          "headline": "+ PY314 - PY39",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-11-03T19:10:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "746f7f527b15f63845253e3b86947b806ef1b98f",
          "body": null,
          "is_bot": false,
          "headline": "cleanup",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-11-03T18:19:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a5ee2b4aad05531898ab8fd726c7ece31ddadf8b",
          "body": "The new behavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior. Relates to #1561.",
          "is_bot": false,
          "headline": "Revert the default behavior of `USE_DEFINITION_ORDER`",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-11-03T18:19:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5354daf618149f92580a1407c036115753c5df73",
          "body": "Fixes #1554",
          "is_bot": false,
          "headline": "Fix an HTML comment parsing case that can cause an infinite loop",
          "author_name": "facelessuser",
          "author_login": "facelessuser",
          "committed_at": "2025-09-26T14:52:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f39cf84a24124526c1a0efbe52219fa9950774f6",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.9",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-09-04T19:49:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07bf2076623be5de9952e1f35bfb8c218b699300",
          "body": "* Alter footnote ordering so footnotes definitions are listed in the order in which their references appear in the document.\n* Add config option, USE_DEFINITION_ORDER, to support previous behavior. \n* Add comprehensive tests for extension.\n* Change to the behavior of inlinepatterns by ensuring that inlinepatterns iterate through elements in document order. Previously, in some specific case, elements with nested children had their inline content parsed in reverse order.\n\nResolves #1367.",
          "is_bot": false,
          "headline": "Order footnotes by reference",
          "author_name": "Anders Eskildsen",
          "author_login": "aeskildsen",
          "committed_at": "2025-08-01T18:38:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23c301de28e12426408656efdfa153b11d4ff558",
          "body": "New change requires us to monkey patch `locatetagend` to prevent\ncapturing incomplete tags in code spans.",
          "is_bot": false,
          "headline": "Fix failing cases for Python 3.14",
          "author_name": "facelessuser",
          "author_login": "facelessuser",
          "committed_at": "2025-07-21T17:39:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4669a09894d4a35cd5f5d2106b0da95e48d1a3f9",
          "body": null,
          "is_bot": false,
          "headline": "fix typo",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-06-19T17:18:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9c8431e404d614812e39a11109afbe9981bba13",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.8.2",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-06-19T17:11:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9980cb5b27b07ff48283178d98213e41543701ec",
          "body": "- Fix codecs deprecation\n- Fix issue with unclosed `<![`\n- Fix issue with unclosed HTML tag `<foo`\n- Fix issue with unclosed comments\n- Add tests which run on the Python 3.14 beta which should automatically update after release\n\nFixes #1537",
          "is_bot": false,
          "headline": "Fixes for Python 3.14",
          "author_name": "Isaac Muse",
          "author_login": "facelessuser",
          "committed_at": "2025-06-19T15:46:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3561310d30dac10c47f0b9fc404b167fc65331b0",
          "body": "The docs previously incorrectly linked to the Semantic Versioning specification.\nHowever, this project has never used that specification. Instead it uses the Python\nVersion Specification which was originally defined in PEP 440. The\nspecification explicitly identifies differences between the two\n(See https://packaging.python.org/en/latest/specifications/version-specifiers/#semantic-versioning).",
          "is_bot": false,
          "headline": "Properly document version specification.",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-06-18T19:57:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bb9d42b93dae519d4f5a6eea970a571232e05e2",
          "body": null,
          "is_bot": false,
          "headline": "Update documentation for release process",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-06-18T19:57:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3870f20ba1dd214609b380e921dffc5f115730f5",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.8.1",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-06-18T14:47:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "820721485c928c6f97f3d74f37afb6d2450aef9e",
          "body": "See Python bug report at gh-77057 for details. Until we drop support for\nPython < 3.13 (where this was fixed upstream), we need to avoid the\nunwanted error by checking for it explicitly. Fixes #1534.",
          "is_bot": false,
          "headline": "Ensure incomplete markup declaration in raw HTML doesn't crash parser.",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-06-18T14:29:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "64a3c0fbc00327fbfee1fd6b44da0e5453287fe4",
          "body": "Fixes #1528",
          "is_bot": false,
          "headline": "Fix HTML handling of `</>`",
          "author_name": "facelessuser",
          "author_login": "facelessuser",
          "committed_at": "2025-04-26T22:20:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2b9fd10f1fc7b0683f226e6a82da8e8375bccf5",
          "body": "Fixes #1526.\n\nCo-authored-by: Dmitry Shachnev <mitya57@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Ensure `md_in_html` does not drop content",
          "author_name": "Isaac Muse",
          "author_login": "facelessuser",
          "committed_at": "2025-04-21T19:57:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "513de8a0db81c840f917488af7078a45f74542bf",
          "body": "This is the first tag with support for metadata format 2.4.",
          "is_bot": false,
          "headline": "Update pypa/gh-action-pypi-publish to v1.12.4",
          "author_name": "Dmitry Shachnev",
          "author_login": "mitya57",
          "committed_at": "2025-04-11T14:18:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b34e1d03387be771aa626241fe56f8f0c34243f2",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.8",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-04-09T17:36:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6b71632726c049ab9a7a1b42e816a67f422064b",
          "body": null,
          "is_bot": false,
          "headline": "Update deploy workflow to normalize version",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-04-09T17:23:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd67d4862b388c7c2dd1ae90635c633472c2c77c",
          "body": "* Cleanup versions in changelog\n* Refactor changelog to validate. Use nested lists for contents of each version.\n* Fix internal link in changelog\n* Refactor action to use 2 jobs",
          "is_bot": false,
          "headline": "Improve changelog validation",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-04-09T16:22:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e912575a903215ebafaeb0fecbdad079d998b9ba",
          "body": null,
          "is_bot": false,
          "headline": "Fix incorrect TOC list structure in docs",
          "author_name": "Vladyslav Prudius",
          "author_login": "SoulPrudya",
          "committed_at": "2025-04-02T15:51:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42d4b4336e97485b96c1e4e9fcdb4e8df2501217",
          "body": null,
          "is_bot": false,
          "headline": "Fix CI badge in README",
          "author_name": "Jan Brasna",
          "author_login": "janbrasna",
          "committed_at": "2025-04-02T14:09:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1caf02892487cead069cb0c4bcdd1e876ca6b590",
          "body": "Don't precompute placeholder replacements in raw HTML post-processor. Fixes #1507.\n\nPreviously, the raw HTML post-processor would precompute all possible replacements for placeholders in a string, based on the HTML stash. It would then apply a regular expression substitution using these replacements\n[…]\n` first, before `PLACEHOLDER`. The presence of a wrapping `p` tag indicates whether to wrap again the substitution result, or not (also depending on whether the substituted HTML is a block-level tag).",
          "is_bot": false,
          "headline": "Optimize raw HTML post-processor (#1510)",
          "author_name": "Timothée Mazzucotelli",
          "author_login": "pawamoy",
          "committed_at": "2025-03-27T12:44:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f6cfc5cca3dd2c313d2fa547b7c88dac656ae506",
          "body": null,
          "is_bot": false,
          "headline": "Use PEP 639 license expressions in project metadata",
          "author_name": "Marc Mueller",
          "author_login": "cdce8p",
          "committed_at": "2025-03-25T17:12:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c6e39ace5e928f37854b3bf1010b209a79e2d63",
          "body": null,
          "is_bot": false,
          "headline": "Add Python 3.13 and drop Python 3.8",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2025-03-25T17:03:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7aae61bea185a4a5c0c48be2619ccc1d294aa381",
          "body": "Fixes #1514.",
          "is_bot": false,
          "headline": "Add special case for closing nested quotes",
          "author_name": "Chris Mayfield",
          "author_login": "ChrisMayfield",
          "committed_at": "2025-03-20T14:40:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ad5b0abf9560255cf9d24234f7de64c0411ab98",
          "body": "Fixes #1512",
          "is_bot": false,
          "headline": "Abbr should respect AtomicStrings",
          "author_name": "Isaac Muse",
          "author_login": "facelessuser",
          "committed_at": "2025-03-12T14:36:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6347c57c8f309dcb0aaaa67b60d0f0039ff44484",
          "body": "Fixes #1481",
          "is_bot": false,
          "headline": "Treat center like a block-level element",
          "author_name": "Isaac Muse",
          "author_login": "facelessuser",
          "committed_at": "2025-01-31T14:07:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "900e85d4ae8fc60a965034a7a652587222a50916",
          "body": "…#1505)\n\n* Remove PHP tests and create tests for cases that are useful to keep\n\nResolves #1480\n\n* Update changelog",
          "is_bot": false,
          "headline": "Remove PHP tests and create tests for cases that are useful to keep (…",
          "author_name": "Isaac Muse",
          "author_login": "facelessuser",
          "committed_at": "2025-01-30T21:32:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2ae4e4a453ba621a141ace7f1603c3a057fade2",
          "body": "… (#1503)\n\nEnsure `md_in_html` processes content inside a \"markdown\" block the same way content is processed outside of a \"markdown\" block.\n\n- Flatten the HTML content into placeholders so that the parser will treat the \"markdown\" block content in the same way it does when `md_in_html` is not enable\n[…]\no make better decisions.\n\nAdditionally, fix some issues with tags and inline code.\n\nAlso, fix some issues with one-liner block tags, e.g. `<tag><tag>...`\n\nResolves #1502 \nResolves #1075\nResolves #1074",
          "is_bot": false,
          "headline": "Adjust `md_in_html` \"markdown\" blocks to process content consistently…",
          "author_name": "Isaac Muse",
          "author_login": "facelessuser",
          "committed_at": "2025-01-28T20:03:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4260e7b4e68385ea084fd68fe8b20eb332ddd793",
          "body": "First line of module docstring is used as summary of module. Therefore, first line should only contain a full sentence and no incomplete links.\r\n\r\nFixes #1495.",
          "is_bot": false,
          "headline": "Clean up module summaries for API docs",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-12-24T18:28:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7aace29bd33bc1734082b677c6f06aac0dcc6ac2",
          "body": "Fixes #1493.",
          "is_bot": false,
          "headline": "Backslash Unescape IDs set via `attr_list` on `toc`",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-12-13T14:59:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b5e80efbb83f119e0e38801bf5b5b5864c67cd0",
          "body": null,
          "is_bot": false,
          "headline": "Use mkdocs' builtin link checking",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-10-01T17:06:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06c211b99100e8d33019e2a4debdeb702cae232d",
          "body": null,
          "is_bot": false,
          "headline": "update mkdocstring template overrides",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-10-01T17:06:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8552c3bf147c69247748338a43ee25f7716a70dd",
          "body": null,
          "is_bot": false,
          "headline": "fix broken links in docs",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-10-01T17:06:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eeb509d6c09b4841a20127babb26bacc3af09433",
          "body": null,
          "is_bot": false,
          "headline": "Fix DRY by adding create_element method in abbr extension",
          "author_name": "Yves Chevallier",
          "author_login": "yves-chevallier",
          "committed_at": "2024-09-30T17:33:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d312609bc3b2222f387b0c55c7522748a797d40f",
          "body": null,
          "is_bot": false,
          "headline": "Fix small typos in `api.md`",
          "author_name": "Sebastián Ramírez",
          "author_login": "tiangolo",
          "committed_at": "2024-09-30T15:58:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc74d69758ff288e26ff616c703b22ce5a02a68a",
          "body": "This is the module: https://github.com/Python-Markdown/markdown/blob/master/markdown/blockparser.py",
          "is_bot": false,
          "headline": "Use correct import path in `abbr.py`",
          "author_name": "sobolevn",
          "author_login": "sobolevn",
          "committed_at": "2024-08-22T19:11:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da03cd646d00a77786ae1e0bc79b01a5539852bc",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.7",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-08-16T15:53:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd836a1448963081b221ad899399e20bb1ccb857",
          "body": null,
          "is_bot": false,
          "headline": "Update griffe_extensions to support Griffe v 1.0.",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-08-16T15:53:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33359faa385f59b84cd87df5f4b0996055a482e2",
          "body": "* `AbbrTreeprocessor` now sorts the abbreviation\r\nlist by length before processing the element tree\r\n\r\nThis ensures that multi-word abbreviations are\r\nimplemented even if an abbreviation exists for\r\none of those component words.\r\n\r\n* Added handling for empty abbreviations.\r\n\r\n* Added a `glossary` option for the `abbr` extension\r\nwhich accepts a dictionary.",
          "is_bot": false,
          "headline": "Abbr Extension: Definition Sorting and Glossary storage",
          "author_name": "nbanyan",
          "author_login": "nbanyan",
          "committed_at": "2024-06-11T15:06:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec8c305fb14eb081bb874c917d8b91d3c5122334",
          "body": "A new `AbbrTreeprocessor` has been introduced, which replaces the now\r\ndeprecated `AbbrInlineProcessor`. Abbreviation processing now happens\r\nafter Attribute Lists, avoiding a conflict between the two extensions.\r\nFixes #1460.\r\n\r\nThe `AbbrPreprocessor` class has been renamed to `AbbrBlockprocessor`, which\r\nbetter reflects what it is. `AbbrPreprocessor` has been deprecated.\r\n\r\nA call to `Markdown.reset()` now clears all previously defined abbreviations.",
          "is_bot": false,
          "headline": "Refactor `abbr` Extension",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-04-25T13:46:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "993b57b8ea577f2120f7d0c81b45ee5ed74a0f57",
          "body": "With the current version, if you open e.g. this page:\nhttps://python-markdown.github.io/reference/markdown/blockprocessors/\n\nThe ‹› links on the right side of the page will point to URLs like\nhttps://github.com/Python-Markdown/markdown/tree/3.6//home/runner/work/markdown/markdown/md/markdown/blockprocessors.py\n\nThis commit fixes them by replacing `filepath` with `relative_filepath`.",
          "is_bot": false,
          "headline": "Fixed links to source code on GitHub from the documentation",
          "author_name": "Dmitry Shachnev",
          "author_login": "mitya57",
          "committed_at": "2024-03-18T14:21:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e524b8fe938738cb4492411a34cce89051cb9695",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.6",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-03-14T15:35:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d8afc6f89e169522f44c1bbec15f66dc359eccb",
          "body": "How it worked before:\r\n\r\n  * Extract the content without allowing any `}` in it, and require that it ends with `}` - for block elements anchored to the end of the line, otherwise not.\r\n  * Parse the content in more detail. No edge cases with `}` can arise. If parsing is interrupted by some unrecogni\n[…]\n: that must mean that we just overmatched a bit, but that's OK, we just assign attrs as normal and put the extra text back into the string. As mentioned, any extra text *before* `}` is just discarded.",
          "is_bot": false,
          "headline": "Allow attr_list quoted values to contain curly braces",
          "author_name": "Oleh Prypin",
          "author_login": "oprypin",
          "committed_at": "2024-03-12T15:54:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9edba85fc14f034b7109534220702bf60178ff15",
          "body": "A alternate fix to #1444. This does not exclude the use of carrots or square \r\nbrackets in abbreviations. It still excludes backslashse, however. I played\r\nwith backslashes and it just doesn't make sense to support them as they \r\nhave special meaning in the Markdown, not because of their use in regular\r\nexpressions.",
          "is_bot": false,
          "headline": "Refactor abbr escaping",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-03-08T14:44:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e4ab4a610edc6332ce81a53aa4ae6f97516ce461",
          "body": "* All postprocessors are run on heading content.\r\n* Footnote references are stripped from heading content. Fixes #660.\r\n* A more robust `striptags` is provided to convert headings to plain text.\r\n  Unlike, the `markupsafe` implementation, HTML entities are not unescaped.\r\n* The plain text `name`, ri\n[…]\n defined in the `toc` extension\r\n  are both **deprecated**. Instead, use some combination of `run_postprocessors`,\r\n  `render_inner_html` and `striptags`.\r\n\r\nCo-authored-by: Oleh Prypin <oleh@pryp.in>",
          "is_bot": false,
          "headline": "Refactor TOC sanitation",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-03-08T14:05:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a18765c25cccab23f400edeac94d20f4be00492b",
          "body": "Fixes #1444.",
          "is_bot": false,
          "headline": "Explicitly omit carot and backslash from abbr",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-03-06T20:47:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "421f1e88ff4661b4433b97ec57b040a2a74e5aed",
          "body": "And add a test for using smarty in ToC headers.\r\n\r\nFixes #1438.",
          "is_bot": false,
          "headline": "Give smarty tree processor higher priority than toc",
          "author_name": "Dmitry Shachnev",
          "author_login": "mitya57",
          "committed_at": "2024-02-05T13:43:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c334a3e47e6565469344154f966cf0eb9aca0de3",
          "body": "This is a weird edge case. Normally, detabbing would be handled by\r\nthe `ListIndentProcessor`. However, in this one case, that class's\r\n`get_level` method would need to return a different result than in\r\nany other case. As there is no way to easily determine this specific\r\ncase from that class, we make the adjustment directly in the\r\n`HashHeaderProcessor` class. Fixes #1433.",
          "is_bot": false,
          "headline": "Ensure lines after heading in loose list are properly detabbed",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-01-29T18:42:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea92856855a6314488acb121f21f8fa02860e008",
          "body": "The license remains BSD 3-Clause but with a better known text",
          "is_bot": false,
          "headline": "Update the license template so GitHub can detect it",
          "author_name": "Oleh Prypin",
          "author_login": "oprypin",
          "committed_at": "2024-01-29T18:05:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2effd6d5191808c8b2e347965f6fcf4aa709e78",
          "body": "…hing issue in #1432",
          "is_bot": false,
          "headline": "Disable mkdocstrings show_symbol_type_toc option to work around searc…",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-01-22T14:44:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91f9a1205d32f3bc6a27ca5f993409c3b97c1931",
          "body": null,
          "is_bot": false,
          "headline": "Restore Attribute symbol type in mkdocstrings template",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-01-22T14:44:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6425ffcbe9d4ae87373cedddbbc36ce0025a9d84",
          "body": "These scripts are needed for building the documentation.",
          "is_bot": false,
          "headline": "MANIFEST.in: Include scripts/*.py in the generated source tarball",
          "author_name": "Dmitry Shachnev",
          "author_login": "mitya57",
          "committed_at": "2024-01-14T22:33:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08dacae618775831243f6bbab47d9be590d511f2",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.5.2",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-01-10T15:17:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e466f381d09692f484f8ff022273e2ac8cea0b16",
          "body": "As with most implementations, we now pass through bogus comments (as\r\ndefined by the HTML Spec) unaltered except that they are HTML escaped.\r\nThis deviates from the reference implementation which completely ignores\r\nthem. As the reference implementation seems to not have even contemplated\r\ntheir existence, it is not being used as a reference in this instance.\r\nFixes #1425.",
          "is_bot": false,
          "headline": "Fix handling of bogus comments.",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2024-01-03T18:24:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2a9c53ea262ea0d39e76aa18430ce071fbe68d5",
          "body": null,
          "is_bot": false,
          "headline": "Update change log link in README.md",
          "author_name": "Dan Bader",
          "author_login": "dbader",
          "committed_at": "2023-12-05T18:44:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cef5afeb959d11e1ad5566fefa1f9a71136c1050",
          "body": null,
          "is_bot": false,
          "headline": "Update Changelog URL",
          "author_name": "Eric",
          "author_login": "eric-rm",
          "committed_at": "2023-11-20T18:25:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d7f2559c31844f788ea41132f40ace7555518e6",
          "body": "Fixes #1416.",
          "is_bot": false,
          "headline": "Fix missing search in docs",
          "author_name": "Isaac Muse",
          "author_login": "facelessuser",
          "committed_at": "2023-11-13T19:42:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc14d5917b2943b438af930ae61fe27c31581375",
          "body": "Also fix a typo (`path=>paths`).",
          "is_bot": false,
          "headline": "Split changelog workflows to separate logic on when each gets run.",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-11-06T16:42:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b06df2cff3602c98a77601d95d639ceacedb07d",
          "body": null,
          "is_bot": false,
          "headline": "ghp-import it not a command module",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-11-06T03:07:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dac7977458eb1f2ca27107e65bfa41aad3ac74bb",
          "body": null,
          "is_bot": false,
          "headline": "Fix a minor oversight in #1407",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-11-06T02:34:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dcd69b154b74a7818be433491896391058ea7e04",
          "body": "The update in 5cbabe1 didn't provide for a .nojekyll file, which is necessary when publishing to GitHub Pages to avoid Jekyll messing with our statically generated documentation.\r\n\r\nAlso added a user input to the manual deploy script which allows deploying from any past reference (tag or commit).",
          "is_bot": false,
          "headline": "Update docs deploy scripts",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-11-06T01:30:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a63e6f3416f2e4fc7c2d5edb2768ceed9218df20",
          "body": "If an inlineprocessor returns an AtomicString (even though that is pointless, a plain string is atomic in that context), there can be an exception in 2 separate places. The added test case was crashing before this change.",
          "is_bot": false,
          "headline": "Fix edge-case crash in InlineProcessor",
          "author_name": "Oleh Prypin",
          "author_login": "oprypin",
          "committed_at": "2023-11-03T14:20:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f5b151ac899dd0e71bc689ecfce17ac6018789eb",
          "body": "If there is an empty `<pre><code></code></pre>` inserted by another extension, there can be an exception. The added test case was crashing before this change.",
          "is_bot": false,
          "headline": "Fix edge-case crash in codehilite",
          "author_name": "Oleh Prypin",
          "author_login": "oprypin",
          "committed_at": "2023-11-03T13:53:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87249beb5257e7c8c2b84ccbedb3f126ab6840d2",
          "body": "There are no other references to `content_indention`, and it seems that there were no problems with this only because the other line `self.content_indent = indent` kicks in in all relevant situations.",
          "is_bot": false,
          "headline": "Fix typo in attribute name",
          "author_name": "Oleh Prypin",
          "author_login": "oprypin",
          "committed_at": "2023-11-02T17:31:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "040b617a0dfed0f647582fffee5b0f3f64447184",
          "body": null,
          "is_bot": false,
          "headline": "Remove legacy import needed only in Python 2",
          "author_name": "Oleh Prypin",
          "author_login": "oprypin",
          "committed_at": "2023-11-02T17:03:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85d0c18dc925c8e2758fe72145f0aeefd56a7fdb",
          "body": null,
          "is_bot": false,
          "headline": "Add and improve type annotations",
          "author_name": "Oleh Prypin",
          "author_login": "oprypin",
          "committed_at": "2023-11-02T14:44:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5cbabe1cc774d1e743d11ebc05d5c5c126ee8a7a",
          "body": "Switch to a different action (cpina/github-action-push-to-another-repository) which has worked in testing (see https://github.com/waylan/test-repo-source).\r\n\r\nAlso updated the version of many actions in all workflows to eliminate various warnings we have been getting of late.",
          "is_bot": false,
          "headline": "Update Docs deployment",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-11-02T14:36:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e517de89015e6469e6829d98b6d7c55bd9fedf8",
          "body": "* Correctly declare the parameter annotations as `BinaryIO`, because in fact it works only with byte-based buffers.\r\n\r\n* `sys.stdin.read()` is always a string, so remove the Python2-specific check.\r\n    * Correct the patch in the test which incorrectly sets `sys.stdin` to a bytes buffer which it nev\n[…]\nc fallback.\r\n    * Correct the patch in the test which incorrectly sets `sys.stdout` to a bytes buffer which it never is. And fix a matching mistake because this necessitated `stdout.read().decode()`.",
          "is_bot": false,
          "headline": "Correct the declarations of I/O buffers as bytes-based",
          "author_name": "Oleh Prypin",
          "author_login": "oprypin",
          "committed_at": "2023-11-01T15:18:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2932f183921943687ca3d72b3908a937bd495d24",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.5.1",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-10-31T19:57:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76af499a6771f0a120d5068119bd4af192ad8d79",
          "body": "Every edit to the changelog must be validated so that an invalid changelog doesn't block a release.",
          "is_bot": false,
          "headline": "Update changelog validation (#1388)",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-10-31T18:46:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99425b47bc5b5cf5cda570c1ae5f739082370d8d",
          "body": "The origins of these are three-fold:\r\n\r\n* Merging in stubs from https://github.com/python/typeshed/tree/main/stubs/Markdown using \"merge-pyi\"\r\n   - Note: we can consider these annotations to be the important ones because it's what people have been adding according to their own need\r\n* Double-checkin\n[…]\ns with annotations that got added in this repository already\r\n   + Taking the opportunity to declare a generic \"Registry of T\" class\r\n* Running mypy and eliminating the most glaring errors it reported",
          "is_bot": false,
          "headline": "Improve type annotations (add more and fix wrong ones)",
          "author_name": "Oleh Prypin",
          "author_login": "oprypin",
          "committed_at": "2023-10-30T17:03:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c53d5d7e56062619d6805ecd117c1067227ae788",
          "body": null,
          "is_bot": false,
          "headline": "Properly resolve relative paths in scripts/gen_ref_nav.py",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-10-27T15:28:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "524e4daa56ead7e551f2c9c0d5ea9460884ad521",
          "body": "* Replace dynamic regex with string find operation\r\n* Add cache of where each line starts so we don't have quadratic behavior identifying line numbers when importing large chunks of html",
          "is_bot": false,
          "headline": "Speedup line_offset property (#1392)",
          "author_name": "Eric Norige",
          "author_login": "eanorige",
          "committed_at": "2023-10-26T18:54:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4f0b91abe1a954a72ab3c99c3e2b880ab36631fa",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 3.5",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-10-06T19:02:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07cbf0a0538bf24d32ab9b2f91cec7fe3d22c689",
          "body": "The API docs are auto-generated with mkdocstrings. The Google-style is used in docstrings to document parameters, return values, exceptions raised, etc..\r\n\r\nMost of the docstrings throughout the codebase have been rewritten to be included in the documentations. Most objects have had type annotations\n[…]\n significant portion of the code has received edits, there should be no changes to the code itself and therefore no changes in behavior.\r\n\r\nCo-authored-by @waylan who made most of the docstring edits.",
          "is_bot": false,
          "headline": "Add API docs to documentation",
          "author_name": "Timothée Mazzucotelli",
          "author_login": "pawamoy",
          "committed_at": "2023-10-06T18:28:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5a2fee340845ee5a70f6570c35b53fd4a37ade1c",
          "body": "Fix a corner case in admonitions where if an indented code block was\r\nprovided as the first block, the output would be malformed.\r\n\r\nFixes #1329.",
          "is_bot": false,
          "headline": "Fix admonition corner case with indented code blocks",
          "author_name": "Isaac Muse",
          "author_login": "facelessuser",
          "committed_at": "2023-09-05T14:01:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25b64df6a9066b8eef7e68101567de938e38ea0e",
          "body": "Fixes #1293.",
          "is_bot": false,
          "headline": "Add customizable TOC title class",
          "author_name": "Paolo Melchiorre",
          "author_login": "pauloxnet",
          "committed_at": "2023-08-11T17:59:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "acdbdc19959f5c02c13f741413d76e23366b4aa5",
          "body": "Use Python standard library's HTML_EMPTY which already contains the new tags. Fixes #1353.",
          "is_bot": false,
          "headline": "Update list of empty HTML tags",
          "author_name": "nicbou",
          "author_login": "nicbou",
          "committed_at": "2023-08-11T17:29:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f50ac4702108e90448919d228d465cc192a58936",
          "body": "New changelog is at `docs/changelog.md` and uses the format defined at\r\n<https://keepachangelog.com/>. It only contins releases in the 3.x series.\r\nThe old changelog at `docs/change_log/` remains in its old format as an\r\narchive and only contains older releases. The archive is removed from\r\nthe site\n[…]\nreflect the changes.\r\n\r\nUpdate the changelog validation workflow to use an action which understands the new format.\r\n\r\nUpdate deploy action to include release notes from changelog in a GitHub release.",
          "is_bot": false,
          "headline": "Refactor changelog",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-08-11T17:13:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8ae73a0580129dfa86e253f337e3da43537104c1",
          "body": "Update default version for non-version specific tests (linters, etc)\r\nto PY-3.11 (previously used 3.7). Fixes #1357.\r\n\r\nSkip version isvalid test except when version is changed.",
          "is_bot": false,
          "headline": "Add PY3.12 & PYPY3.10 and drop 3.7",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-08-08T17:50:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fbb34ea825b5c29faf9490ed3bbd3aab0ad22dbe",
          "body": "While we don't really need to upload release files to GitHub (as they\nare uploaded to PyPI), creating releases does provide a mechanism to\nnotify users that a new release is available. As GitHub will automaticaly\ncreate files from the repo when none are provided, we upload the official\ndistribution files instead. Fixes #1365.",
          "is_bot": false,
          "headline": "Add GitHub Releases action to deploy workflow",
          "author_name": "Waylan Limberg",
          "author_login": "waylan",
          "committed_at": "2023-08-07T18:53:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 11,
      "commits_last_year": 23,
      "latest_release_at": "2026-02-09T14:57:29Z",
      "latest_release_tag": "3.10.2",
      "releases_from_tags": false,
      "days_since_last_push": 13,
      "active_weeks_last_year": 14,
      "days_since_latest_release": 162,
      "mean_days_between_releases": 84.6
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "Markdown",
          "exists": true,
          "license": "BSD-3-Clause",
          "keywords": [
            "markdown",
            "markdown-parser",
            "python-markdown",
            "markdown-to-html",
            "Development Status :: 5 - Production/Stable",
            "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.14",
            "Programming Language :: Python :: Implementation :: CPython",
            "Programming Language :: Python :: Implementation :: PyPy",
            "Topic :: Communications :: Email :: Filters",
            "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: CGI Tools/Libraries",
            "Topic :: Internet :: WWW/HTTP :: Site Management",
            "Topic :: Software Development :: Documentation",
            "Topic :: Software Development :: Libraries :: Python Modules",
            "Topic :: Text Processing :: Filters",
            "Topic :: Text Processing :: Markup :: HTML",
            "Topic :: Text Processing :: Markup :: Markdown"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/Markdown/",
          "is_deprecated": false,
          "latest_version": "3.10.2",
          "repository_url": "https://github.com/Python-Markdown/markdown",
          "versions_count": 60,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2008-02-18T02:14:25Z",
          "latest_published_at": "2026-02-09T14:57:26.942957Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 162
        }
      ]
    },
    "popularity": {
      "forks": 902,
      "stars": 4226,
      "watchers": 75,
      "fork_history": {
        "days": [
          {
            "date": "2011-05-02",
            "count": 1
          },
          {
            "date": "2011-06-06",
            "count": 1
          },
          {
            "date": "2011-06-18",
            "count": 1
          },
          {
            "date": "2011-06-25",
            "count": 1
          },
          {
            "date": "2011-06-26",
            "count": 1
          },
          {
            "date": "2011-07-25",
            "count": 1
          },
          {
            "date": "2011-08-05",
            "count": 1
          },
          {
            "date": "2011-08-27",
            "count": 1
          },
          {
            "date": "2011-10-04",
            "count": 2
          },
          {
            "date": "2011-10-14",
            "count": 2
          },
          {
            "date": "2011-11-10",
            "count": 1
          },
          {
            "date": "2011-11-25",
            "count": 1
          },
          {
            "date": "2011-12-14",
            "count": 1
          },
          {
            "date": "2011-12-27",
            "count": 1
          },
          {
            "date": "2012-01-02",
            "count": 1
          },
          {
            "date": "2012-01-05",
            "count": 1
          },
          {
            "date": "2012-01-10",
            "count": 1
          },
          {
            "date": "2012-01-31",
            "count": 1
          },
          {
            "date": "2012-03-09",
            "count": 1
          },
          {
            "date": "2012-04-11",
            "count": 1
          },
          {
            "date": "2012-05-23",
            "count": 1
          },
          {
            "date": "2012-07-21",
            "count": 1
          },
          {
            "date": "2012-07-26",
            "count": 1
          },
          {
            "date": "2012-07-31",
            "count": 1
          },
          {
            "date": "2012-08-09",
            "count": 1
          },
          {
            "date": "2012-08-14",
            "count": 1
          },
          {
            "date": "2012-08-23",
            "count": 1
          },
          {
            "date": "2012-08-24",
            "count": 1
          },
          {
            "date": "2012-08-28",
            "count": 1
          },
          {
            "date": "2012-09-02",
            "count": 1
          },
          {
            "date": "2012-10-06",
            "count": 1
          },
          {
            "date": "2012-10-19",
            "count": 2
          },
          {
            "date": "2012-11-03",
            "count": 1
          },
          {
            "date": "2012-12-03",
            "count": 1
          },
          {
            "date": "2012-12-04",
            "count": 1
          },
          {
            "date": "2012-12-20",
            "count": 1
          },
          {
            "date": "2013-01-01",
            "count": 1
          },
          {
            "date": "2013-01-07",
            "count": 1
          },
          {
            "date": "2013-01-08",
            "count": 1
          },
          {
            "date": "2013-01-09",
            "count": 1
          },
          {
            "date": "2013-01-18",
            "count": 1
          },
          {
            "date": "2013-01-27",
            "count": 1
          },
          {
            "date": "2013-01-29",
            "count": 1
          },
          {
            "date": "2013-02-01",
            "count": 1
          },
          {
            "date": "2013-02-05",
            "count": 1
          },
          {
            "date": "2013-02-13",
            "count": 1
          },
          {
            "date": "2013-02-15",
            "count": 1
          },
          {
            "date": "2013-02-17",
            "count": 1
          },
          {
            "date": "2013-02-26",
            "count": 2
          },
          {
            "date": "2013-03-15",
            "count": 1
          },
          {
            "date": "2013-03-21",
            "count": 1
          },
          {
            "date": "2013-03-22",
            "count": 1
          },
          {
            "date": "2013-03-25",
            "count": 1
          },
          {
            "date": "2013-04-30",
            "count": 1
          },
          {
            "date": "2013-05-28",
            "count": 1
          },
          {
            "date": "2013-06-05",
            "count": 2
          },
          {
            "date": "2013-06-09",
            "count": 1
          },
          {
            "date": "2013-06-19",
            "count": 1
          },
          {
            "date": "2013-06-20",
            "count": 1
          },
          {
            "date": "2013-06-25",
            "count": 1
          },
          {
            "date": "2013-07-15",
            "count": 1
          },
          {
            "date": "2013-07-18",
            "count": 1
          },
          {
            "date": "2013-07-23",
            "count": 1
          },
          {
            "date": "2013-07-24",
            "count": 1
          },
          {
            "date": "2013-07-31",
            "count": 1
          },
          {
            "date": "2013-08-01",
            "count": 1
          },
          {
            "date": "2013-08-09",
            "count": 1
          },
          {
            "date": "2013-08-16",
            "count": 1
          },
          {
            "date": "2013-08-31",
            "count": 1
          },
          {
            "date": "2013-09-04",
            "count": 1
          },
          {
            "date": "2013-09-09",
            "count": 1
          },
          {
            "date": "2013-09-16",
            "count": 1
          },
          {
            "date": "2013-09-20",
            "count": 1
          },
          {
            "date": "2013-09-24",
            "count": 1
          },
          {
            "date": "2013-09-26",
            "count": 2
          },
          {
            "date": "2013-10-21",
            "count": 1
          },
          {
            "date": "2013-10-23",
            "count": 1
          },
          {
            "date": "2013-11-09",
            "count": 1
          },
          {
            "date": "2013-11-25",
            "count": 1
          },
          {
            "date": "2013-12-01",
            "count": 2
          },
          {
            "date": "2013-12-20",
            "count": 1
          },
          {
            "date": "2013-12-22",
            "count": 1
          },
          {
            "date": "2014-01-04",
            "count": 1
          },
          {
            "date": "2014-01-06",
            "count": 1
          },
          {
            "date": "2014-01-10",
            "count": 1
          },
          {
            "date": "2014-02-11",
            "count": 1
          },
          {
            "date": "2014-02-14",
            "count": 1
          },
          {
            "date": "2014-02-15",
            "count": 1
          },
          {
            "date": "2014-02-17",
            "count": 1
          },
          {
            "date": "2014-02-20",
            "count": 1
          },
          {
            "date": "2014-02-25",
            "count": 2
          },
          {
            "date": "2014-02-28",
            "count": 1
          },
          {
            "date": "2014-03-07",
            "count": 1
          },
          {
            "date": "2014-04-10",
            "count": 1
          },
          {
            "date": "2014-05-05",
            "count": 1
          },
          {
            "date": "2014-05-14",
            "count": 1
          },
          {
            "date": "2014-05-17",
            "count": 1
          },
          {
            "date": "2014-05-31",
            "count": 1
          },
          {
            "date": "2014-06-01",
            "count": 1
          },
          {
            "date": "2014-06-21",
            "count": 1
          },
          {
            "date": "2014-07-02",
            "count": 1
          },
          {
            "date": "2014-07-08",
            "count": 1
          },
          {
            "date": "2014-07-10",
            "count": 1
          },
          {
            "date": "2014-07-29",
            "count": 1
          },
          {
            "date": "2014-07-30",
            "count": 1
          },
          {
            "date": "2014-08-07",
            "count": 1
          },
          {
            "date": "2014-08-17",
            "count": 1
          },
          {
            "date": "2014-08-22",
            "count": 1
          },
          {
            "date": "2014-09-04",
            "count": 1
          },
          {
            "date": "2014-09-10",
            "count": 1
          },
          {
            "date": "2014-09-13",
            "count": 1
          },
          {
            "date": "2014-09-21",
            "count": 1
          },
          {
            "date": "2014-09-22",
            "count": 1
          },
          {
            "date": "2014-09-23",
            "count": 1
          },
          {
            "date": "2014-09-24",
            "count": 2
          },
          {
            "date": "2014-10-24",
            "count": 1
          },
          {
            "date": "2014-10-31",
            "count": 1
          },
          {
            "date": "2014-11-17",
            "count": 1
          },
          {
            "date": "2014-11-24",
            "count": 1
          },
          {
            "date": "2014-12-04",
            "count": 1
          },
          {
            "date": "2014-12-06",
            "count": 2
          },
          {
            "date": "2014-12-09",
            "count": 1
          },
          {
            "date": "2014-12-18",
            "count": 1
          },
          {
            "date": "2015-01-01",
            "count": 1
          },
          {
            "date": "2015-01-16",
            "count": 1
          },
          {
            "date": "2015-01-21",
            "count": 1
          },
          {
            "date": "2015-01-22",
            "count": 1
          },
          {
            "date": "2015-01-28",
            "count": 1
          },
          {
            "date": "2015-02-23",
            "count": 1
          },
          {
            "date": "2015-03-09",
            "count": 1
          },
          {
            "date": "2015-03-13",
            "count": 1
          },
          {
            "date": "2015-03-22",
            "count": 1
          },
          {
            "date": "2015-03-28",
            "count": 1
          },
          {
            "date": "2015-04-10",
            "count": 1
          },
          {
            "date": "2015-04-19",
            "count": 1
          },
          {
            "date": "2015-04-25",
            "count": 1
          },
          {
            "date": "2015-05-08",
            "count": 1
          },
          {
            "date": "2015-05-19",
            "count": 1
          },
          {
            "date": "2015-05-25",
            "count": 1
          },
          {
            "date": "2015-05-26",
            "count": 1
          },
          {
            "date": "2015-06-04",
            "count": 1
          },
          {
            "date": "2015-06-14",
            "count": 1
          },
          {
            "date": "2015-07-04",
            "count": 1
          },
          {
            "date": "2015-08-01",
            "count": 1
          },
          {
            "date": "2015-08-05",
            "count": 1
          },
          {
            "date": "2015-08-27",
            "count": 1
          },
          {
            "date": "2015-08-28",
            "count": 1
          },
          {
            "date": "2015-09-01",
            "count": 1
          },
          {
            "date": "2015-09-22",
            "count": 1
          },
          {
            "date": "2015-09-25",
            "count": 1
          },
          {
            "date": "2015-10-13",
            "count": 1
          },
          {
            "date": "2015-10-14",
            "count": 1
          },
          {
            "date": "2015-10-22",
            "count": 1
          },
          {
            "date": "2015-10-23",
            "count": 1
          },
          {
            "date": "2015-11-02",
            "count": 1
          },
          {
            "date": "2015-11-08",
            "count": 1
          },
          {
            "date": "2015-11-11",
            "count": 1
          },
          {
            "date": "2015-11-25",
            "count": 2
          },
          {
            "date": "2015-11-28",
            "count": 2
          },
          {
            "date": "2015-12-16",
            "count": 1
          },
          {
            "date": "2015-12-27",
            "count": 1
          },
          {
            "date": "2015-12-30",
            "count": 1
          },
          {
            "date": "2016-01-02",
            "count": 1
          },
          {
            "date": "2016-01-04",
            "count": 1
          },
          {
            "date": "2016-01-25",
            "count": 1
          },
          {
            "date": "2016-01-29",
            "count": 1
          },
          {
            "date": "2016-02-01",
            "count": 1
          },
          {
            "date": "2016-03-03",
            "count": 1
          },
          {
            "date": "2016-03-11",
            "count": 1
          },
          {
            "date": "2016-03-25",
            "count": 1
          },
          {
            "date": "2016-03-29",
            "count": 2
          },
          {
            "date": "2016-05-03",
            "count": 1
          },
          {
            "date": "2016-05-06",
            "count": 1
          },
          {
            "date": "2016-05-08",
            "count": 1
          },
          {
            "date": "2016-05-31",
            "count": 1
          },
          {
            "date": "2016-06-01",
            "count": 1
          },
          {
            "date": "2016-07-14",
            "count": 1
          },
          {
            "date": "2016-07-18",
            "count": 1
          },
          {
            "date": "2016-07-20",
            "count": 1
          },
          {
            "date": "2016-07-25",
            "count": 1
          },
          {
            "date": "2016-08-05",
            "count": 1
          },
          {
            "date": "2016-08-10",
            "count": 1
          },
          {
            "date": "2016-08-15",
            "count": 1
          },
          {
            "date": "2016-09-13",
            "count": 1
          },
          {
            "date": "2016-09-20",
            "count": 1
          },
          {
            "date": "2016-10-17",
            "count": 1
          },
          {
            "date": "2016-10-19",
            "count": 1
          },
          {
            "date": "2016-10-21",
            "count": 1
          },
          {
            "date": "2016-10-24",
            "count": 1
          },
          {
            "date": "2016-11-02",
            "count": 1
          },
          {
            "date": "2016-11-04",
            "count": 1
          },
          {
            "date": "2016-11-12",
            "count": 1
          },
          {
            "date": "2016-12-13",
            "count": 1
          },
          {
            "date": "2016-12-21",
            "count": 1
          },
          {
            "date": "2017-01-08",
            "count": 1
          },
          {
            "date": "2017-01-17",
            "count": 2
          },
          {
            "date": "2017-02-22",
            "count": 1
          },
          {
            "date": "2017-03-08",
            "count": 1
          },
          {
            "date": "2017-03-26",
            "count": 1
          },
          {
            "date": "2017-03-31",
            "count": 1
          },
          {
            "date": "2017-04-25",
            "count": 1
          },
          {
            "date": "2017-04-28",
            "count": 1
          },
          {
            "date": "2017-05-07",
            "count": 1
          },
          {
            "date": "2017-06-07",
            "count": 1
          },
          {
            "date": "2017-06-23",
            "count": 1
          },
          {
            "date": "2017-06-27",
            "count": 1
          },
          {
            "date": "2017-07-14",
            "count": 1
          },
          {
            "date": "2017-08-09",
            "count": 1
          },
          {
            "date": "2017-08-17",
            "count": 1
          },
          {
            "date": "2017-09-08",
            "count": 3
          },
          {
            "date": "2017-09-18",
            "count": 1
          },
          {
            "date": "2017-10-05",
            "count": 1
          },
          {
            "date": "2017-10-20",
            "count": 1
          },
          {
            "date": "2017-10-22",
            "count": 1
          },
          {
            "date": "2017-11-01",
            "count": 1
          },
          {
            "date": "2017-11-08",
            "count": 1
          },
          {
            "date": "2017-11-14",
            "count": 1
          },
          {
            "date": "2017-12-08",
            "count": 1
          },
          {
            "date": "2017-12-21",
            "count": 1
          },
          {
            "date": "2017-12-22",
            "count": 2
          },
          {
            "date": "2018-01-07",
            "count": 1
          },
          {
            "date": "2018-01-12",
            "count": 1
          },
          {
            "date": "2018-01-15",
            "count": 1
          },
          {
            "date": "2018-01-24",
            "count": 1
          },
          {
            "date": "2018-01-31",
            "count": 1
          },
          {
            "date": "2018-02-01",
            "count": 1
          },
          {
            "date": "2018-02-07",
            "count": 1
          },
          {
            "date": "2018-02-08",
            "count": 1
          },
          {
            "date": "2018-02-20",
            "count": 2
          },
          {
            "date": "2018-02-22",
            "count": 1
          },
          {
            "date": "2018-02-23",
            "count": 1
          },
          {
            "date": "2018-03-01",
            "count": 1
          },
          {
            "date": "2018-03-06",
            "count": 1
          },
          {
            "date": "2018-03-11",
            "count": 1
          },
          {
            "date": "2018-04-04",
            "count": 1
          },
          {
            "date": "2018-04-09",
            "count": 1
          },
          {
            "date": "2018-04-11",
            "count": 1
          },
          {
            "date": "2018-04-15",
            "count": 1
          },
          {
            "date": "2018-04-18",
            "count": 1
          },
          {
            "date": "2018-04-24",
            "count": 2
          },
          {
            "date": "2018-04-26",
            "count": 1
          },
          {
            "date": "2018-04-29",
            "count": 1
          },
          {
            "date": "2018-05-07",
            "count": 1
          },
          {
            "date": "2018-05-08",
            "count": 1
          },
          {
            "date": "2018-05-18",
            "count": 1
          },
          {
            "date": "2018-05-19",
            "count": 1
          },
          {
            "date": "2018-05-29",
            "count": 2
          },
          {
            "date": "2018-06-01",
            "count": 1
          },
          {
            "date": "2018-06-10",
            "count": 1
          },
          {
            "date": "2018-06-12",
            "count": 1
          },
          {
            "date": "2018-06-18",
            "count": 1
          },
          {
            "date": "2018-06-19",
            "count": 1
          },
          {
            "date": "2018-07-10",
            "count": 1
          },
          {
            "date": "2018-07-28",
            "count": 1
          },
          {
            "date": "2018-08-03",
            "count": 1
          },
          {
            "date": "2018-08-10",
            "count": 1
          },
          {
            "date": "2018-08-25",
            "count": 1
          },
          {
            "date": "2018-08-27",
            "count": 1
          },
          {
            "date": "2018-08-31",
            "count": 1
          },
          {
            "date": "2018-09-02",
            "count": 1
          },
          {
            "date": "2018-09-07",
            "count": 1
          },
          {
            "date": "2018-09-13",
            "count": 1
          },
          {
            "date": "2018-09-23",
            "count": 1
          },
          {
            "date": "2018-10-11",
            "count": 1
          },
          {
            "date": "2018-10-19",
            "count": 1
          },
          {
            "date": "2018-10-26",
            "count": 1
          },
          {
            "date": "2018-11-06",
            "count": 1
          },
          {
            "date": "2018-11-08",
            "count": 2
          },
          {
            "date": "2018-11-13",
            "count": 1
          },
          {
            "date": "2018-11-18",
            "count": 2
          },
          {
            "date": "2018-11-21",
            "count": 1
          },
          {
            "date": "2018-11-29",
            "count": 1
          },
          {
            "date": "2018-12-01",
            "count": 2
          },
          {
            "date": "2018-12-22",
            "count": 1
          },
          {
            "date": "2018-12-27",
            "count": 1
          },
          {
            "date": "2019-01-04",
            "count": 1
          },
          {
            "date": "2019-01-05",
            "count": 1
          },
          {
            "date": "2019-01-10",
            "count": 1
          },
          {
            "date": "2019-01-16",
            "count": 2
          },
          {
            "date": "2019-01-18",
            "count": 1
          },
          {
            "date": "2019-01-20",
            "count": 1
          },
          {
            "date": "2019-01-29",
            "count": 2
          },
          {
            "date": "2019-02-01",
            "count": 1
          },
          {
            "date": "2019-02-08",
            "count": 1
          },
          {
            "date": "2019-02-17",
            "count": 1
          },
          {
            "date": "2019-02-21",
            "count": 1
          },
          {
            "date": "2019-03-06",
            "count": 2
          },
          {
            "date": "2019-03-07",
            "count": 2
          },
          {
            "date": "2019-03-08",
            "count": 1
          },
          {
            "date": "2019-03-13",
            "count": 1
          },
          {
            "date": "2019-03-23",
            "count": 1
          },
          {
            "date": "2019-03-27",
            "count": 2
          },
          {
            "date": "2019-03-31",
            "count": 1
          },
          {
            "date": "2019-04-09",
            "count": 3
          },
          {
            "date": "2019-04-16",
            "count": 1
          },
          {
            "date": "2019-04-23",
            "count": 1
          },
          {
            "date": "2019-04-26",
            "count": 1
          },
          {
            "date": "2019-04-27",
            "count": 2
          },
          {
            "date": "2019-04-28",
            "count": 1
          },
          {
            "date": "2019-04-29",
            "count": 1
          },
          {
            "date": "2019-04-30",
            "count": 1
          },
          {
            "date": "2019-05-10",
            "count": 1
          },
          {
            "date": "2019-05-12",
            "count": 1
          },
          {
            "date": "2019-05-16",
            "count": 1
          },
          {
            "date": "2019-05-20",
            "count": 1
          },
          {
            "date": "2019-05-22",
            "count": 1
          },
          {
            "date": "2019-05-31",
            "count": 1
          },
          {
            "date": "2019-06-06",
            "count": 1
          },
          {
            "date": "2019-06-16",
            "count": 1
          },
          {
            "date": "2019-06-17",
            "count": 1
          },
          {
            "date": "2019-07-02",
            "count": 1
          },
          {
            "date": "2019-07-03",
            "count": 1
          },
          {
            "date": "2019-07-08",
            "count": 1
          },
          {
            "date": "2019-07-14",
            "count": 1
          },
          {
            "date": "2019-07-16",
            "count": 1
          },
          {
            "date": "2019-07-23",
            "count": 2
          },
          {
            "date": "2019-07-30",
            "count": 1
          },
          {
            "date": "2019-08-01",
            "count": 1
          },
          {
            "date": "2019-08-10",
            "count": 1
          },
          {
            "date": "2019-08-21",
            "count": 1
          },
          {
            "date": "2019-08-24",
            "count": 1
          },
          {
            "date": "2019-08-30",
            "count": 1
          },
          {
            "date": "2019-09-05",
            "count": 1
          },
          {
            "date": "2019-09-19",
            "count": 1
          },
          {
            "date": "2019-09-29",
            "count": 2
          },
          {
            "date": "2019-10-08",
            "count": 1
          },
          {
            "date": "2019-10-10",
            "count": 1
          },
          {
            "date": "2019-10-14",
            "count": 1
          },
          {
            "date": "2019-10-17",
            "count": 1
          },
          {
            "date": "2019-10-22",
            "count": 1
          },
          {
            "date": "2019-10-23",
            "count": 3
          },
          {
            "date": "2019-10-24",
            "count": 1
          },
          {
            "date": "2019-10-26",
            "count": 1
          },
          {
            "date": "2019-10-27",
            "count": 1
          },
          {
            "date": "2019-10-29",
            "count": 1
          },
          {
            "date": "2019-10-30",
            "count": 1
          },
          {
            "date": "2019-10-31",
            "count": 1
          },
          {
            "date": "2019-11-09",
            "count": 1
          },
          {
            "date": "2019-12-03",
            "count": 1
          },
          {
            "date": "2019-12-07",
            "count": 1
          },
          {
            "date": "2019-12-08",
            "count": 1
          },
          {
            "date": "2019-12-17",
            "count": 1
          },
          {
            "date": "2019-12-20",
            "count": 1
          },
          {
            "date": "2019-12-24",
            "count": 1
          },
          {
            "date": "2019-12-27",
            "count": 1
          },
          {
            "date": "2020-01-08",
            "count": 1
          },
          {
            "date": "2020-01-14",
            "count": 2
          },
          {
            "date": "2020-01-29",
            "count": 1
          },
          {
            "date": "2020-01-31",
            "count": 1
          },
          {
            "date": "2020-02-04",
            "count": 1
          },
          {
            "date": "2020-02-05",
            "count": 1
          },
          {
            "date": "2020-02-22",
            "count": 1
          },
          {
            "date": "2020-02-27",
            "count": 2
          },
          {
            "date": "2020-03-03",
            "count": 3
          },
          {
            "date": "2020-03-05",
            "count": 1
          },
          {
            "date": "2020-03-08",
            "count": 1
          },
          {
            "date": "2020-03-09",
            "count": 1
          },
          {
            "date": "2020-03-10",
            "count": 1
          },
          {
            "date": "2020-03-11",
            "count": 1
          },
          {
            "date": "2020-03-16",
            "count": 1
          },
          {
            "date": "2020-03-19",
            "count": 1
          },
          {
            "date": "2020-03-21",
            "count": 1
          },
          {
            "date": "2020-03-22",
            "count": 1
          },
          {
            "date": "2020-03-23",
            "count": 1
          },
          {
            "date": "2020-03-31",
            "count": 2
          },
          {
            "date": "2020-04-03",
            "count": 1
          },
          {
            "date": "2020-04-04",
            "count": 1
          },
          {
            "date": "2020-04-08",
            "count": 1
          },
          {
            "date": "2020-04-10",
            "count": 1
          },
          {
            "date": "2020-04-11",
            "count": 1
          },
          {
            "date": "2020-04-14",
            "count": 1
          },
          {
            "date": "2020-04-16",
            "count": 1
          },
          {
            "date": "2020-04-19",
            "count": 2
          },
          {
            "date": "2020-04-26",
            "count": 1
          },
          {
            "date": "2020-04-27",
            "count": 2
          },
          {
            "date": "2020-05-01",
            "count": 1
          },
          {
            "date": "2020-05-06",
            "count": 1
          },
          {
            "date": "2020-05-09",
            "count": 1
          },
          {
            "date": "2020-05-10",
            "count": 1
          },
          {
            "date": "2020-05-18",
            "count": 1
          },
          {
            "date": "2020-05-20",
            "count": 2
          },
          {
            "date": "2020-05-21",
            "count": 1
          },
          {
            "date": "2020-05-28",
            "count": 1
          },
          {
            "date": "2020-06-03",
            "count": 1
          },
          {
            "date": "2020-06-11",
            "count": 1
          },
          {
            "date": "2020-06-12",
            "count": 2
          },
          {
            "date": "2020-06-21",
            "count": 1
          },
          {
            "date": "2020-06-22",
            "count": 1
          },
          {
            "date": "2020-06-24",
            "count": 1
          },
          {
            "date": "2020-06-25",
            "count": 1
          },
          {
            "date": "2020-07-01",
            "count": 1
          },
          {
            "date": "2020-07-07",
            "count": 1
          },
          {
            "date": "2020-07-08",
            "count": 1
          },
          {
            "date": "2020-07-23",
            "count": 1
          },
          {
            "date": "2020-08-03",
            "count": 1
          },
          {
            "date": "2020-08-16",
            "count": 1
          },
          {
            "date": "2020-08-18",
            "count": 1
          },
          {
            "date": "2020-09-02",
            "count": 2
          },
          {
            "date": "2020-09-03",
            "count": 1
          },
          {
            "date": "2020-09-07",
            "count": 1
          },
          {
            "date": "2020-09-09",
            "count": 1
          },
          {
            "date": "2020-09-11",
            "count": 1
          },
          {
            "date": "2020-09-16",
            "count": 1
          },
          {
            "date": "2020-09-23",
            "count": 1
          },
          {
            "date": "2020-10-01",
            "count": 1
          },
          {
            "date": "2020-10-07",
            "count": 2
          },
          {
            "date": "2020-10-14",
            "count": 1
          },
          {
            "date": "2020-10-15",
            "count": 2
          },
          {
            "date": "2020-10-17",
            "count": 1
          },
          {
            "date": "2020-10-27",
            "count": 1
          },
          {
            "date": "2020-10-29",
            "count": 1
          },
          {
            "date": "2020-10-30",
            "count": 1
          },
          {
            "date": "2020-10-31",
            "count": 1
          },
          {
            "date": "2020-11-03",
            "count": 1
          },
          {
            "date": "2020-11-06",
            "count": 1
          },
          {
            "date": "2020-11-10",
            "count": 1
          },
          {
            "date": "2020-11-19",
            "count": 1
          },
          {
            "date": "2020-11-29",
            "count": 1
          },
          {
            "date": "2020-11-30",
            "count": 1
          },
          {
            "date": "2020-12-03",
            "count": 1
          },
          {
            "date": "2020-12-06",
            "count": 1
          },
          {
            "date": "2020-12-14",
            "count": 1
          },
          {
            "date": "2020-12-15",
            "count": 1
          },
          {
            "date": "2020-12-16",
            "count": 1
          },
          {
            "date": "2020-12-21",
            "count": 1
          },
          {
            "date": "2020-12-22",
            "count": 1
          },
          {
            "date": "2020-12-27",
            "count": 2
          },
          {
            "date": "2020-12-29",
            "count": 1
          },
          {
            "date": "2020-12-30",
            "count": 1
          },
          {
            "date": "2021-01-04",
            "count": 1
          },
          {
            "date": "2021-01-06",
            "count": 1
          },
          {
            "date": "2021-01-09",
            "count": 2
          },
          {
            "date": "2021-01-12",
            "count": 1
          },
          {
            "date": "2021-01-18",
            "count": 1
          },
          {
            "date": "2021-01-21",
            "count": 1
          },
          {
            "date": "2021-01-22",
            "count": 1
          },
          {
            "date": "2021-01-26",
            "count": 2
          },
          {
            "date": "2021-01-28",
            "count": 1
          },
          {
            "date": "2021-02-02",
            "count": 1
          },
          {
            "date": "2021-02-03",
            "count": 1
          },
          {
            "date": "2021-02-06",
            "count": 1
          },
          {
            "date": "2021-02-09",
            "count": 1
          },
          {
            "date": "2021-02-15",
            "count": 3
          },
          {
            "date": "2021-02-20",
            "count": 2
          },
          {
            "date": "2021-03-01",
            "count": 1
          },
          {
            "date": "2021-03-02",
            "count": 1
          },
          {
            "date": "2021-03-03",
            "count": 1
          },
          {
            "date": "2021-03-05",
            "count": 2
          },
          {
            "date": "2021-03-06",
            "count": 1
          },
          {
            "date": "2021-03-07",
            "count": 1
          },
          {
            "date": "2021-03-12",
            "count": 1
          },
          {
            "date": "2021-03-14",
            "count": 1
          },
          {
            "date": "2021-03-18",
            "count": 1
          },
          {
            "date": "2021-04-01",
            "count": 1
          },
          {
            "date": "2021-04-03",
            "count": 1
          },
          {
            "date": "2021-04-07",
            "count": 1
          },
          {
            "date": "2021-04-13",
            "count": 1
          },
          {
            "date": "2021-04-15",
            "count": 3
          },
          {
            "date": "2021-04-17",
            "count": 1
          },
          {
            "date": "2021-04-19",
            "count": 1
          },
          {
            "date": "2021-04-20",
            "count": 1
          },
          {
            "date": "2021-04-21",
            "count": 1
          },
          {
            "date": "2021-04-23",
            "count": 1
          },
          {
            "date": "2021-05-02",
            "count": 1
          },
          {
            "date": "2021-05-04",
            "count": 1
          },
          {
            "date": "2021-05-06",
            "count": 2
          },
          {
            "date": "2021-05-08",
            "count": 1
          },
          {
            "date": "2021-05-13",
            "count": 1
          },
          {
            "date": "2021-05-18",
            "count": 1
          },
          {
            "date": "2021-05-20",
            "count": 1
          },
          {
            "date": "2021-05-22",
            "count": 1
          },
          {
            "date": "2021-05-24",
            "count": 2
          },
          {
            "date": "2021-05-26",
            "count": 1
          },
          {
            "date": "2021-05-29",
            "count": 1
          },
          {
            "date": "2021-06-01",
            "count": 1
          },
          {
            "date": "2021-06-03",
            "count": 1
          },
          {
            "date": "2021-06-06",
            "count": 1
          },
          {
            "date": "2021-06-10",
            "count": 2
          },
          {
            "date": "2021-06-12",
            "count": 1
          },
          {
            "date": "2021-06-13",
            "count": 1
          },
          {
            "date": "2021-06-15",
            "count": 1
          },
          {
            "date": "2021-06-23",
            "count": 1
          },
          {
            "date": "2021-07-08",
            "count": 2
          },
          {
            "date": "2021-07-14",
            "count": 1
          },
          {
            "date": "2021-07-15",
            "count": 2
          },
          {
            "date": "2021-07-17",
            "count": 1
          },
          {
            "date": "2021-07-23",
            "count": 1
          },
          {
            "date": "2021-07-27",
            "count": 1
          },
          {
            "date": "2021-07-28",
            "count": 2
          },
          {
            "date": "2021-07-30",
            "count": 1
          },
          {
            "date": "2021-08-01",
            "count": 1
          },
          {
            "date": "2021-08-06",
            "count": 1
          },
          {
            "date": "2021-08-08",
            "count": 1
          },
          {
            "date": "2021-08-09",
            "count": 1
          },
          {
            "date": "2021-08-19",
            "count": 1
          },
          {
            "date": "2021-08-21",
            "count": 1
          },
          {
            "date": "2021-08-22",
            "count": 1
          },
          {
            "date": "2021-08-23",
            "count": 3
          },
          {
            "date": "2021-08-25",
            "count": 2
          },
          {
            "date": "2021-08-26",
            "count": 1
          },
          {
            "date": "2021-08-29",
            "count": 1
          },
          {
            "date": "2021-08-30",
            "count": 2
          },
          {
            "date": "2021-09-02",
            "count": 1
          },
          {
            "date": "2021-09-03",
            "count": 2
          },
          {
            "date": "2021-09-04",
            "count": 1
          },
          {
            "date": "2021-09-05",
            "count": 1
          },
          {
            "date": "2021-09-14",
            "count": 1
          },
          {
            "date": "2021-09-26",
            "count": 1
          },
          {
            "date": "2021-10-05",
            "count": 1
          },
          {
            "date": "2021-10-06",
            "count": 1
          },
          {
            "date": "2021-10-09",
            "count": 1
          },
          {
            "date": "2021-10-12",
            "count": 1
          },
          {
            "date": "2021-10-13",
            "count": 2
          },
          {
            "date": "2021-10-15",
            "count": 1
          },
          {
            "date": "2021-10-16",
            "count": 1
          },
          {
            "date": "2021-10-24",
            "count": 1
          },
          {
            "date": "2021-10-25",
            "count": 1
          },
          {
            "date": "2021-10-27",
            "count": 2
          },
          {
            "date": "2021-10-28",
            "count": 1
          },
          {
            "date": "2021-10-29",
            "count": 1
          },
          {
            "date": "2021-11-08",
            "count": 1
          },
          {
            "date": "2021-11-17",
            "count": 2
          },
          {
            "date": "2021-11-20",
            "count": 1
          },
          {
            "date": "2021-11-25",
            "count": 1
          },
          {
            "date": "2021-11-30",
            "count": 1
          },
          {
            "date": "2021-12-01",
            "count": 1
          },
          {
            "date": "2021-12-10",
            "count": 1
          },
          {
            "date": "2021-12-14",
            "count": 1
          },
          {
            "date": "2021-12-15",
            "count": 1
          },
          {
            "date": "2021-12-20",
            "count": 1
          },
          {
            "date": "2021-12-31",
            "count": 1
          },
          {
            "date": "2022-01-09",
            "count": 1
          },
          {
            "date": "2022-01-11",
            "count": 1
          },
          {
            "date": "2022-01-22",
            "count": 1
          },
          {
            "date": "2022-01-24",
            "count": 1
          },
          {
            "date": "2022-01-25",
            "count": 1
          },
          {
            "date": "2022-01-27",
            "count": 1
          },
          {
            "date": "2022-02-02",
            "count": 1
          },
          {
            "date": "2022-02-03",
            "count": 1
          },
          {
            "date": "2022-02-05",
            "count": 1
          },
          {
            "date": "2022-02-08",
            "count": 1
          },
          {
            "date": "2022-02-12",
            "count": 1
          },
          {
            "date": "2022-02-16",
            "count": 1
          },
          {
            "date": "2022-02-18",
            "count": 1
          },
          {
            "date": "2022-02-21",
            "count": 1
          },
          {
            "date": "2022-02-23",
            "count": 2
          },
          {
            "date": "2022-02-25",
            "count": 1
          },
          {
            "date": "2022-03-02",
            "count": 1
          },
          {
            "date": "2022-03-03",
            "count": 2
          },
          {
            "date": "2022-03-06",
            "count": 1
          },
          {
            "date": "2022-03-18",
            "count": 1
          },
          {
            "date": "2022-03-21",
            "count": 1
          },
          {
            "date": "2022-03-24",
            "count": 1
          },
          {
            "date": "2022-04-01",
            "count": 1
          },
          {
            "date": "2022-04-02",
            "count": 1
          },
          {
            "date": "2022-04-05",
            "count": 2
          },
          {
            "date": "2022-04-06",
            "count": 1
          },
          {
            "date": "2022-04-07",
            "count": 1
          },
          {
            "date": "2022-04-10",
            "count": 1
          },
          {
            "date": "2022-04-22",
            "count": 1
          },
          {
            "date": "2022-04-28",
            "count": 1
          },
          {
            "date": "2022-05-05",
            "count": 1
          },
          {
            "date": "2022-05-12",
            "count": 1
          },
          {
            "date": "2022-05-13",
            "count": 1
          },
          {
            "date": "2022-05-15",
            "count": 2
          },
          {
            "date": "2022-05-17",
            "count": 1
          },
          {
            "date": "2022-05-22",
            "count": 1
          },
          {
            "date": "2022-05-25",
            "count": 1
          },
          {
            "date": "2022-05-26",
            "count": 1
          },
          {
            "date": "2022-05-31",
            "count": 1
          },
          {
            "date": "2022-06-02",
            "count": 1
          },
          {
            "date": "2022-06-07",
            "count": 1
          },
          {
            "date": "2022-06-11",
            "count": 1
          },
          {
            "date": "2022-06-13",
            "count": 1
          },
          {
            "date": "2022-06-15",
            "count": 1
          },
          {
            "date": "2022-06-22",
            "count": 1
          },
          {
            "date": "2022-07-02",
            "count": 1
          },
          {
            "date": "2022-07-03",
            "count": 1
          },
          {
            "date": "2022-07-06",
            "count": 1
          },
          {
            "date": "2022-07-07",
            "count": 1
          },
          {
            "date": "2022-07-08",
            "count": 2
          },
          {
            "date": "2022-07-09",
            "count": 1
          },
          {
            "date": "2022-07-11",
            "count": 1
          },
          {
            "date": "2022-07-19",
            "count": 1
          },
          {
            "date": "2022-07-20",
            "count": 1
          },
          {
            "date": "2022-07-23",
            "count": 2
          },
          {
            "date": "2022-07-30",
            "count": 1
          },
          {
            "date": "2022-08-05",
            "count": 1
          },
          {
            "date": "2022-08-08",
            "count": 2
          },
          {
            "date": "2022-08-11",
            "count": 1
          },
          {
            "date": "2022-08-19",
            "count": 1
          },
          {
            "date": "2022-08-25",
            "count": 1
          },
          {
            "date": "2022-08-27",
            "count": 1
          },
          {
            "date": "2022-08-30",
            "count": 1
          },
          {
            "date": "2022-09-02",
            "count": 1
          },
          {
            "date": "2022-09-09",
            "count": 1
          },
          {
            "date": "2022-09-11",
            "count": 1
          },
          {
            "date": "2022-09-13",
            "count": 2
          },
          {
            "date": "2022-09-18",
            "count": 1
          },
          {
            "date": "2022-09-25",
            "count": 1
          },
          {
            "date": "2022-09-28",
            "count": 2
          },
          {
            "date": "2022-10-03",
            "count": 1
          },
          {
            "date": "2022-10-07",
            "count": 1
          },
          {
            "date": "2022-10-08",
            "count": 1
          },
          {
            "date": "2022-10-10",
            "count": 2
          },
          {
            "date": "2022-10-13",
            "count": 2
          },
          {
            "date": "2022-11-01",
            "count": 1
          },
          {
            "date": "2022-11-02",
            "count": 1
          },
          {
            "date": "2022-11-05",
            "count": 1
          },
          {
            "date": "2022-11-09",
            "count": 1
          },
          {
            "date": "2022-11-12",
            "count": 1
          },
          {
            "date": "2022-11-24",
            "count": 1
          },
          {
            "date": "2022-11-28",
            "count": 1
          },
          {
            "date": "2022-11-29",
            "count": 1
          },
          {
            "date": "2022-11-30",
            "count": 1
          },
          {
            "date": "2022-12-06",
            "count": 1
          },
          {
            "date": "2022-12-12",
            "count": 1
          },
          {
            "date": "2022-12-19",
            "count": 2
          },
          {
            "date": "2022-12-24",
            "count": 1
          },
          {
            "date": "2022-12-29",
            "count": 1
          },
          {
            "date": "2023-01-03",
            "count": 1
          },
          {
            "date": "2023-01-08",
            "count": 1
          },
          {
            "date": "2023-01-12",
            "count": 1
          },
          {
            "date": "2023-01-17",
            "count": 1
          },
          {
            "date": "2023-01-21",
            "count": 2
          },
          {
            "date": "2023-02-03",
            "count": 2
          },
          {
            "date": "2023-02-04",
            "count": 1
          },
          {
            "date": "2023-02-08",
            "count": 1
          },
          {
            "date": "2023-02-11",
            "count": 1
          },
          {
            "date": "2023-02-13",
            "count": 1
          },
          {
            "date": "2023-02-21",
            "count": 1
          },
          {
            "date": "2023-02-25",
            "count": 1
          },
          {
            "date": "2023-02-26",
            "count": 1
          },
          {
            "date": "2023-02-28",
            "count": 1
          },
          {
            "date": "2023-03-02",
            "count": 2
          },
          {
            "date": "2023-03-04",
            "count": 2
          },
          {
            "date": "2023-03-05",
            "count": 1
          },
          {
            "date": "2023-03-09",
            "count": 1
          },
          {
            "date": "2023-03-14",
            "count": 1
          },
          {
            "date": "2023-03-15",
            "count": 1
          },
          {
            "date": "2023-03-17",
            "count": 1
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-04-03",
            "count": 1
          },
          {
            "date": "2023-04-15",
            "count": 1
          },
          {
            "date": "2023-04-17",
            "count": 2
          },
          {
            "date": "2023-04-25",
            "count": 1
          },
          {
            "date": "2023-05-02",
            "count": 1
          },
          {
            "date": "2023-05-03",
            "count": 1
          },
          {
            "date": "2023-05-12",
            "count": 1
          },
          {
            "date": "2023-05-14",
            "count": 1
          },
          {
            "date": "2023-05-17",
            "count": 1
          },
          {
            "date": "2023-05-26",
            "count": 1
          },
          {
            "date": "2023-06-04",
            "count": 1
          },
          {
            "date": "2023-06-15",
            "count": 1
          },
          {
            "date": "2023-06-20",
            "count": 1
          },
          {
            "date": "2023-07-01",
            "count": 1
          },
          {
            "date": "2023-07-19",
            "count": 1
          },
          {
            "date": "2023-07-26",
            "count": 1
          },
          {
            "date": "2023-08-11",
            "count": 2
          },
          {
            "date": "2023-08-14",
            "count": 1
          },
          {
            "date": "2023-08-22",
            "count": 1
          },
          {
            "date": "2023-08-28",
            "count": 1
          },
          {
            "date": "2023-09-25",
            "count": 1
          },
          {
            "date": "2023-10-05",
            "count": 1
          },
          {
            "date": "2023-10-09",
            "count": 1
          },
          {
            "date": "2023-10-20",
            "count": 1
          },
          {
            "date": "2023-10-21",
            "count": 1
          },
          {
            "date": "2023-10-31",
            "count": 1
          },
          {
            "date": "2023-11-16",
            "count": 2
          },
          {
            "date": "2023-11-18",
            "count": 1
          },
          {
            "date": "2023-11-20",
            "count": 1
          },
          {
            "date": "2023-11-22",
            "count": 1
          },
          {
            "date": "2023-11-23",
            "count": 1
          },
          {
            "date": "2023-11-29",
            "count": 2
          },
          {
            "date": "2023-11-30",
            "count": 1
          },
          {
            "date": "2023-12-05",
            "count": 2
          },
          {
            "date": "2023-12-13",
            "count": 1
          },
          {
            "date": "2023-12-15",
            "count": 1
          },
          {
            "date": "2023-12-17",
            "count": 1
          },
          {
            "date": "2023-12-18",
            "count": 1
          },
          {
            "date": "2023-12-24",
            "count": 1
          },
          {
            "date": "2024-01-12",
            "count": 1
          },
          {
            "date": "2024-01-17",
            "count": 1
          },
          {
            "date": "2024-01-18",
            "count": 1
          },
          {
            "date": "2024-01-20",
            "count": 1
          },
          {
            "date": "2024-01-24",
            "count": 1
          },
          {
            "date": "2024-01-27",
            "count": 1
          },
          {
            "date": "2024-02-02",
            "count": 1
          },
          {
            "date": "2024-02-14",
            "count": 1
          },
          {
            "date": "2024-02-21",
            "count": 2
          },
          {
            "date": "2024-03-07",
            "count": 1
          },
          {
            "date": "2024-03-13",
            "count": 1
          },
          {
            "date": "2024-03-15",
            "count": 1
          },
          {
            "date": "2024-03-28",
            "count": 1
          },
          {
            "date": "2024-04-04",
            "count": 1
          },
          {
            "date": "2024-04-22",
            "count": 1
          },
          {
            "date": "2024-04-24",
            "count": 1
          },
          {
            "date": "2024-04-28",
            "count": 1
          },
          {
            "date": "2024-05-08",
            "count": 1
          },
          {
            "date": "2024-05-27",
            "count": 1
          },
          {
            "date": "2024-06-05",
            "count": 1
          },
          {
            "date": "2024-06-08",
            "count": 1
          },
          {
            "date": "2024-06-12",
            "count": 1
          },
          {
            "date": "2024-06-15",
            "count": 1
          },
          {
            "date": "2024-07-01",
            "count": 1
          },
          {
            "date": "2024-07-09",
            "count": 1
          },
          {
            "date": "2024-07-10",
            "count": 1
          },
          {
            "date": "2024-08-07",
            "count": 1
          },
          {
            "date": "2024-08-12",
            "count": 1
          },
          {
            "date": "2024-08-16",
            "count": 1
          },
          {
            "date": "2024-08-20",
            "count": 1
          },
          {
            "date": "2024-08-25",
            "count": 1
          },
          {
            "date": "2024-09-03",
            "count": 1
          },
          {
            "date": "2024-09-07",
            "count": 1
          },
          {
            "date": "2024-09-27",
            "count": 1
          },
          {
            "date": "2024-09-30",
            "count": 1
          },
          {
            "date": "2024-10-04",
            "count": 1
          },
          {
            "date": "2024-10-12",
            "count": 1
          },
          {
            "date": "2024-10-23",
            "count": 1
          },
          {
            "date": "2024-11-04",
            "count": 1
          },
          {
            "date": "2024-12-10",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 1
          },
          {
            "date": "2024-12-18",
            "count": 1
          },
          {
            "date": "2024-12-23",
            "count": 1
          },
          {
            "date": "2025-01-09",
            "count": 1
          },
          {
            "date": "2025-01-19",
            "count": 1
          },
          {
            "date": "2025-01-21",
            "count": 1
          },
          {
            "date": "2025-01-25",
            "count": 1
          },
          {
            "date": "2025-02-03",
            "count": 1
          },
          {
            "date": "2025-02-05",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-03-16",
            "count": 1
          },
          {
            "date": "2025-04-09",
            "count": 1
          },
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2025-04-17",
            "count": 1
          },
          {
            "date": "2025-04-27",
            "count": 1
          },
          {
            "date": "2025-04-28",
            "count": 1
          },
          {
            "date": "2025-05-07",
            "count": 1
          },
          {
            "date": "2025-05-16",
            "count": 1
          },
          {
            "date": "2025-05-23",
            "count": 1
          },
          {
            "date": "2025-05-25",
            "count": 1
          },
          {
            "date": "2025-06-04",
            "count": 1
          },
          {
            "date": "2025-06-06",
            "count": 1
          },
          {
            "date": "2025-06-27",
            "count": 1
          },
          {
            "date": "2025-07-02",
            "count": 1
          },
          {
            "date": "2025-07-10",
            "count": 2
          },
          {
            "date": "2025-07-11",
            "count": 1
          },
          {
            "date": "2025-07-22",
            "count": 1
          },
          {
            "date": "2025-07-24",
            "count": 1
          },
          {
            "date": "2025-08-07",
            "count": 1
          },
          {
            "date": "2025-08-23",
            "count": 2
          },
          {
            "date": "2025-09-14",
            "count": 1
          },
          {
            "date": "2025-09-15",
            "count": 1
          },
          {
            "date": "2025-09-17",
            "count": 1
          },
          {
            "date": "2025-09-26",
            "count": 1
          },
          {
            "date": "2025-10-25",
            "count": 1
          },
          {
            "date": "2025-10-27",
            "count": 3
          },
          {
            "date": "2025-10-30",
            "count": 2
          },
          {
            "date": "2025-10-31",
            "count": 1
          },
          {
            "date": "2025-11-04",
            "count": 1
          },
          {
            "date": "2025-11-09",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 1
          },
          {
            "date": "2025-11-11",
            "count": 1
          },
          {
            "date": "2025-11-28",
            "count": 1
          },
          {
            "date": "2025-12-10",
            "count": 1
          },
          {
            "date": "2025-12-28",
            "count": 1
          },
          {
            "date": "2025-12-29",
            "count": 1
          },
          {
            "date": "2026-01-18",
            "count": 1
          },
          {
            "date": "2026-02-01",
            "count": 1
          },
          {
            "date": "2026-02-02",
            "count": 1
          },
          {
            "date": "2026-03-06",
            "count": 1
          },
          {
            "date": "2026-03-24",
            "count": 1
          },
          {
            "date": "2026-04-13",
            "count": 3
          },
          {
            "date": "2026-04-18",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-05-12",
            "count": 1
          },
          {
            "date": "2026-05-19",
            "count": 1
          },
          {
            "date": "2026-05-21",
            "count": 1
          },
          {
            "date": "2026-05-22",
            "count": 2
          },
          {
            "date": "2026-06-04",
            "count": 1
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-24",
            "count": 1
          },
          {
            "date": "2026-07-11",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 883,
        "total_forks": 902
      },
      "star_history": {
        "days": [
          {
            "date": "2023-08-21",
            "count": 2
          },
          {
            "date": "2023-08-22",
            "count": 1
          },
          {
            "date": "2023-08-25",
            "count": 1
          },
          {
            "date": "2023-08-26",
            "count": 3
          },
          {
            "date": "2023-08-28",
            "count": 3
          },
          {
            "date": "2023-08-29",
            "count": 1
          },
          {
            "date": "2023-08-30",
            "count": 3
          },
          {
            "date": "2023-08-31",
            "count": 3
          },
          {
            "date": "2023-09-01",
            "count": 2
          },
          {
            "date": "2023-09-02",
            "count": 3
          },
          {
            "date": "2023-09-03",
            "count": 1
          },
          {
            "date": "2023-09-04",
            "count": 1
          },
          {
            "date": "2023-09-06",
            "count": 1
          },
          {
            "date": "2023-09-09",
            "count": 1
          },
          {
            "date": "2023-09-10",
            "count": 1
          },
          {
            "date": "2023-09-11",
            "count": 1
          },
          {
            "date": "2023-09-12",
            "count": 1
          },
          {
            "date": "2023-09-13",
            "count": 1
          },
          {
            "date": "2023-09-14",
            "count": 1
          },
          {
            "date": "2023-09-18",
            "count": 1
          },
          {
            "date": "2023-09-19",
            "count": 1
          },
          {
            "date": "2023-09-20",
            "count": 1
          },
          {
            "date": "2023-09-22",
            "count": 1
          },
          {
            "date": "2023-09-24",
            "count": 1
          },
          {
            "date": "2023-09-25",
            "count": 3
          },
          {
            "date": "2023-09-26",
            "count": 1
          },
          {
            "date": "2023-09-27",
            "count": 4
          },
          {
            "date": "2023-09-28",
            "count": 3
          },
          {
            "date": "2023-09-29",
            "count": 2
          },
          {
            "date": "2023-09-30",
            "count": 1
          },
          {
            "date": "2023-10-01",
            "count": 1
          },
          {
            "date": "2023-10-02",
            "count": 2
          },
          {
            "date": "2023-10-03",
            "count": 1
          },
          {
            "date": "2023-10-04",
            "count": 2
          },
          {
            "date": "2023-10-05",
            "count": 1
          },
          {
            "date": "2023-10-06",
            "count": 2
          },
          {
            "date": "2023-10-09",
            "count": 1
          },
          {
            "date": "2023-10-10",
            "count": 1
          },
          {
            "date": "2023-10-11",
            "count": 1
          },
          {
            "date": "2023-10-12",
            "count": 2
          },
          {
            "date": "2023-10-13",
            "count": 2
          },
          {
            "date": "2023-10-14",
            "count": 1
          },
          {
            "date": "2023-10-15",
            "count": 2
          },
          {
            "date": "2023-10-16",
            "count": 1
          },
          {
            "date": "2023-10-17",
            "count": 1
          },
          {
            "date": "2023-10-18",
            "count": 1
          },
          {
            "date": "2023-10-19",
            "count": 1
          },
          {
            "date": "2023-10-21",
            "count": 1
          },
          {
            "date": "2023-10-23",
            "count": 2
          },
          {
            "date": "2023-10-24",
            "count": 2
          },
          {
            "date": "2023-10-29",
            "count": 2
          },
          {
            "date": "2023-10-30",
            "count": 1
          },
          {
            "date": "2023-10-31",
            "count": 4
          },
          {
            "date": "2023-11-01",
            "count": 1
          },
          {
            "date": "2023-11-03",
            "count": 1
          },
          {
            "date": "2023-11-04",
            "count": 1
          },
          {
            "date": "2023-11-05",
            "count": 1
          },
          {
            "date": "2023-11-06",
            "count": 2
          },
          {
            "date": "2023-11-07",
            "count": 1
          },
          {
            "date": "2023-11-09",
            "count": 2
          },
          {
            "date": "2023-11-11",
            "count": 2
          },
          {
            "date": "2023-11-12",
            "count": 1
          },
          {
            "date": "2023-11-13",
            "count": 4
          },
          {
            "date": "2023-11-14",
            "count": 2
          },
          {
            "date": "2023-11-17",
            "count": 2
          },
          {
            "date": "2023-11-18",
            "count": 1
          },
          {
            "date": "2023-11-19",
            "count": 1
          },
          {
            "date": "2023-11-21",
            "count": 2
          },
          {
            "date": "2023-11-22",
            "count": 1
          },
          {
            "date": "2023-11-23",
            "count": 3
          },
          {
            "date": "2023-11-24",
            "count": 1
          },
          {
            "date": "2023-11-25",
            "count": 1
          },
          {
            "date": "2023-11-27",
            "count": 1
          },
          {
            "date": "2023-11-29",
            "count": 1
          },
          {
            "date": "2023-11-30",
            "count": 2
          },
          {
            "date": "2023-12-01",
            "count": 2
          },
          {
            "date": "2023-12-02",
            "count": 1
          },
          {
            "date": "2023-12-03",
            "count": 1
          },
          {
            "date": "2023-12-04",
            "count": 1
          },
          {
            "date": "2023-12-05",
            "count": 2
          },
          {
            "date": "2023-12-06",
            "count": 2
          },
          {
            "date": "2023-12-07",
            "count": 2
          },
          {
            "date": "2023-12-08",
            "count": 1
          },
          {
            "date": "2023-12-09",
            "count": 1
          },
          {
            "date": "2023-12-12",
            "count": 1
          },
          {
            "date": "2023-12-13",
            "count": 2
          },
          {
            "date": "2023-12-15",
            "count": 2
          },
          {
            "date": "2023-12-18",
            "count": 1
          },
          {
            "date": "2023-12-20",
            "count": 1
          },
          {
            "date": "2023-12-21",
            "count": 1
          },
          {
            "date": "2023-12-23",
            "count": 2
          },
          {
            "date": "2023-12-25",
            "count": 1
          },
          {
            "date": "2023-12-26",
            "count": 1
          },
          {
            "date": "2023-12-27",
            "count": 1
          },
          {
            "date": "2023-12-29",
            "count": 2
          },
          {
            "date": "2023-12-30",
            "count": 3
          },
          {
            "date": "2024-01-01",
            "count": 2
          },
          {
            "date": "2024-01-04",
            "count": 2
          },
          {
            "date": "2024-01-05",
            "count": 2
          },
          {
            "date": "2024-01-08",
            "count": 2
          },
          {
            "date": "2024-01-10",
            "count": 1
          },
          {
            "date": "2024-01-11",
            "count": 1
          },
          {
            "date": "2024-01-12",
            "count": 1
          },
          {
            "date": "2024-01-14",
            "count": 1
          },
          {
            "date": "2024-01-17",
            "count": 2
          },
          {
            "date": "2024-01-18",
            "count": 1
          },
          {
            "date": "2024-01-19",
            "count": 1
          },
          {
            "date": "2024-01-21",
            "count": 1
          },
          {
            "date": "2024-01-23",
            "count": 3
          },
          {
            "date": "2024-01-24",
            "count": 1
          },
          {
            "date": "2024-01-25",
            "count": 1
          },
          {
            "date": "2024-01-27",
            "count": 2
          },
          {
            "date": "2024-01-28",
            "count": 1
          },
          {
            "date": "2024-01-30",
            "count": 4
          },
          {
            "date": "2024-02-01",
            "count": 2
          },
          {
            "date": "2024-02-02",
            "count": 2
          },
          {
            "date": "2024-02-03",
            "count": 3
          },
          {
            "date": "2024-02-05",
            "count": 2
          },
          {
            "date": "2024-02-08",
            "count": 4
          },
          {
            "date": "2024-02-09",
            "count": 2
          },
          {
            "date": "2024-02-10",
            "count": 3
          },
          {
            "date": "2024-02-13",
            "count": 1
          },
          {
            "date": "2024-02-14",
            "count": 1
          },
          {
            "date": "2024-02-15",
            "count": 1
          },
          {
            "date": "2024-02-16",
            "count": 2
          },
          {
            "date": "2024-02-18",
            "count": 4
          },
          {
            "date": "2024-02-19",
            "count": 1
          },
          {
            "date": "2024-02-20",
            "count": 1
          },
          {
            "date": "2024-02-22",
            "count": 2
          },
          {
            "date": "2024-02-25",
            "count": 1
          },
          {
            "date": "2024-02-26",
            "count": 3
          },
          {
            "date": "2024-02-28",
            "count": 1
          },
          {
            "date": "2024-03-01",
            "count": 2
          },
          {
            "date": "2024-03-02",
            "count": 1
          },
          {
            "date": "2024-03-03",
            "count": 3
          },
          {
            "date": "2024-03-04",
            "count": 1
          },
          {
            "date": "2024-03-05",
            "count": 1
          },
          {
            "date": "2024-03-06",
            "count": 1
          },
          {
            "date": "2024-03-09",
            "count": 1
          },
          {
            "date": "2024-03-10",
            "count": 2
          },
          {
            "date": "2024-03-12",
            "count": 2
          },
          {
            "date": "2024-03-13",
            "count": 2
          },
          {
            "date": "2024-03-15",
            "count": 2
          },
          {
            "date": "2024-03-17",
            "count": 3
          },
          {
            "date": "2024-03-18",
            "count": 2
          },
          {
            "date": "2024-03-21",
            "count": 1
          },
          {
            "date": "2024-03-22",
            "count": 1
          },
          {
            "date": "2024-03-23",
            "count": 1
          },
          {
            "date": "2024-03-24",
            "count": 1
          },
          {
            "date": "2024-03-25",
            "count": 2
          },
          {
            "date": "2024-04-03",
            "count": 3
          },
          {
            "date": "2024-04-05",
            "count": 1
          },
          {
            "date": "2024-04-06",
            "count": 2
          },
          {
            "date": "2024-04-10",
            "count": 2
          },
          {
            "date": "2024-04-11",
            "count": 2
          },
          {
            "date": "2024-04-12",
            "count": 1
          },
          {
            "date": "2024-04-13",
            "count": 3
          },
          {
            "date": "2024-04-14",
            "count": 2
          },
          {
            "date": "2024-04-15",
            "count": 2
          },
          {
            "date": "2024-04-16",
            "count": 2
          },
          {
            "date": "2024-04-18",
            "count": 1
          },
          {
            "date": "2024-04-19",
            "count": 1
          },
          {
            "date": "2024-04-20",
            "count": 2
          },
          {
            "date": "2024-04-21",
            "count": 4
          },
          {
            "date": "2024-04-22",
            "count": 4
          },
          {
            "date": "2024-04-23",
            "count": 1
          },
          {
            "date": "2024-04-25",
            "count": 1
          },
          {
            "date": "2024-04-26",
            "count": 2
          },
          {
            "date": "2024-04-27",
            "count": 1
          },
          {
            "date": "2024-04-28",
            "count": 1
          },
          {
            "date": "2024-04-29",
            "count": 1
          },
          {
            "date": "2024-04-30",
            "count": 1
          },
          {
            "date": "2024-05-02",
            "count": 1
          },
          {
            "date": "2024-05-03",
            "count": 2
          },
          {
            "date": "2024-05-04",
            "count": 1
          },
          {
            "date": "2024-05-06",
            "count": 1
          },
          {
            "date": "2024-05-07",
            "count": 2
          },
          {
            "date": "2024-05-08",
            "count": 2
          },
          {
            "date": "2024-05-10",
            "count": 1
          },
          {
            "date": "2024-05-11",
            "count": 1
          },
          {
            "date": "2024-05-13",
            "count": 2
          },
          {
            "date": "2024-05-14",
            "count": 3
          },
          {
            "date": "2024-05-15",
            "count": 1
          },
          {
            "date": "2024-05-17",
            "count": 1
          },
          {
            "date": "2024-05-18",
            "count": 1
          },
          {
            "date": "2024-05-20",
            "count": 2
          },
          {
            "date": "2024-05-21",
            "count": 1
          },
          {
            "date": "2024-05-22",
            "count": 2
          },
          {
            "date": "2024-05-23",
            "count": 2
          },
          {
            "date": "2024-05-24",
            "count": 1
          },
          {
            "date": "2024-05-25",
            "count": 2
          },
          {
            "date": "2024-05-26",
            "count": 3
          },
          {
            "date": "2024-05-27",
            "count": 2
          },
          {
            "date": "2024-05-28",
            "count": 1
          },
          {
            "date": "2024-05-29",
            "count": 1
          },
          {
            "date": "2024-05-31",
            "count": 1
          },
          {
            "date": "2024-06-01",
            "count": 1
          },
          {
            "date": "2024-06-02",
            "count": 1
          },
          {
            "date": "2024-06-03",
            "count": 1
          },
          {
            "date": "2024-06-05",
            "count": 1
          },
          {
            "date": "2024-06-06",
            "count": 3
          },
          {
            "date": "2024-06-11",
            "count": 1
          },
          {
            "date": "2024-06-12",
            "count": 1
          },
          {
            "date": "2024-06-13",
            "count": 1
          },
          {
            "date": "2024-06-14",
            "count": 1
          },
          {
            "date": "2024-06-15",
            "count": 1
          },
          {
            "date": "2024-06-16",
            "count": 1
          },
          {
            "date": "2024-06-17",
            "count": 3
          },
          {
            "date": "2024-06-18",
            "count": 2
          },
          {
            "date": "2024-06-20",
            "count": 1
          },
          {
            "date": "2024-06-21",
            "count": 1
          },
          {
            "date": "2024-06-22",
            "count": 1
          },
          {
            "date": "2024-06-23",
            "count": 3
          },
          {
            "date": "2024-06-24",
            "count": 1
          },
          {
            "date": "2024-06-26",
            "count": 1
          },
          {
            "date": "2024-06-27",
            "count": 2
          },
          {
            "date": "2024-06-28",
            "count": 1
          },
          {
            "date": "2024-06-29",
            "count": 1
          },
          {
            "date": "2024-06-30",
            "count": 1
          },
          {
            "date": "2024-07-01",
            "count": 1
          },
          {
            "date": "2024-07-02",
            "count": 1
          },
          {
            "date": "2024-07-03",
            "count": 1
          },
          {
            "date": "2024-07-05",
            "count": 3
          },
          {
            "date": "2024-07-07",
            "count": 1
          },
          {
            "date": "2024-07-08",
            "count": 2
          },
          {
            "date": "2024-07-09",
            "count": 2
          },
          {
            "date": "2024-07-11",
            "count": 2
          },
          {
            "date": "2024-07-15",
            "count": 2
          },
          {
            "date": "2024-07-16",
            "count": 1
          },
          {
            "date": "2024-07-17",
            "count": 2
          },
          {
            "date": "2024-07-18",
            "count": 2
          },
          {
            "date": "2024-07-19",
            "count": 2
          },
          {
            "date": "2024-07-21",
            "count": 1
          },
          {
            "date": "2024-07-24",
            "count": 1
          },
          {
            "date": "2024-07-25",
            "count": 1
          },
          {
            "date": "2024-07-26",
            "count": 2
          },
          {
            "date": "2024-07-28",
            "count": 1
          },
          {
            "date": "2024-07-29",
            "count": 1
          },
          {
            "date": "2024-07-30",
            "count": 1
          },
          {
            "date": "2024-08-01",
            "count": 2
          },
          {
            "date": "2024-08-02",
            "count": 1
          },
          {
            "date": "2024-08-04",
            "count": 3
          },
          {
            "date": "2024-08-05",
            "count": 2
          },
          {
            "date": "2024-08-06",
            "count": 2
          },
          {
            "date": "2024-08-07",
            "count": 1
          },
          {
            "date": "2024-08-09",
            "count": 2
          },
          {
            "date": "2024-08-11",
            "count": 2
          },
          {
            "date": "2024-08-12",
            "count": 4
          },
          {
            "date": "2024-08-15",
            "count": 3
          },
          {
            "date": "2024-08-16",
            "count": 4
          },
          {
            "date": "2024-08-17",
            "count": 1
          },
          {
            "date": "2024-08-19",
            "count": 1
          },
          {
            "date": "2024-08-20",
            "count": 1
          },
          {
            "date": "2024-08-21",
            "count": 3
          },
          {
            "date": "2024-08-22",
            "count": 1
          },
          {
            "date": "2024-08-23",
            "count": 1
          },
          {
            "date": "2024-08-24",
            "count": 2
          },
          {
            "date": "2024-08-25",
            "count": 2
          },
          {
            "date": "2024-08-26",
            "count": 2
          },
          {
            "date": "2024-08-29",
            "count": 4
          },
          {
            "date": "2024-08-31",
            "count": 1
          },
          {
            "date": "2024-09-02",
            "count": 1
          },
          {
            "date": "2024-09-04",
            "count": 2
          },
          {
            "date": "2024-09-05",
            "count": 1
          },
          {
            "date": "2024-09-06",
            "count": 4
          },
          {
            "date": "2024-09-08",
            "count": 1
          },
          {
            "date": "2024-09-09",
            "count": 4
          },
          {
            "date": "2024-09-10",
            "count": 2
          },
          {
            "date": "2024-09-13",
            "count": 2
          },
          {
            "date": "2024-09-16",
            "count": 1
          },
          {
            "date": "2024-09-17",
            "count": 1
          },
          {
            "date": "2024-09-18",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 4
          },
          {
            "date": "2024-09-22",
            "count": 2
          },
          {
            "date": "2024-09-23",
            "count": 3
          },
          {
            "date": "2024-09-24",
            "count": 2
          },
          {
            "date": "2024-09-26",
            "count": 1
          },
          {
            "date": "2024-09-27",
            "count": 1
          },
          {
            "date": "2024-09-28",
            "count": 1
          },
          {
            "date": "2024-09-29",
            "count": 4
          },
          {
            "date": "2024-09-30",
            "count": 1
          },
          {
            "date": "2024-10-01",
            "count": 2
          },
          {
            "date": "2024-10-03",
            "count": 2
          },
          {
            "date": "2024-10-04",
            "count": 1
          },
          {
            "date": "2024-10-07",
            "count": 2
          },
          {
            "date": "2024-10-08",
            "count": 1
          },
          {
            "date": "2024-10-09",
            "count": 3
          },
          {
            "date": "2024-10-10",
            "count": 1
          },
          {
            "date": "2024-10-12",
            "count": 1
          },
          {
            "date": "2024-10-14",
            "count": 1
          },
          {
            "date": "2024-10-16",
            "count": 3
          },
          {
            "date": "2024-10-17",
            "count": 2
          },
          {
            "date": "2024-10-19",
            "count": 1
          },
          {
            "date": "2024-10-21",
            "count": 4
          },
          {
            "date": "2024-10-22",
            "count": 1
          },
          {
            "date": "2024-10-23",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-25",
            "count": 1
          },
          {
            "date": "2024-10-28",
            "count": 3
          },
          {
            "date": "2024-10-29",
            "count": 1
          },
          {
            "date": "2024-10-30",
            "count": 3
          },
          {
            "date": "2024-11-01",
            "count": 1
          },
          {
            "date": "2024-11-03",
            "count": 1
          },
          {
            "date": "2024-11-04",
            "count": 1
          },
          {
            "date": "2024-11-08",
            "count": 1
          },
          {
            "date": "2024-11-10",
            "count": 1
          },
          {
            "date": "2024-11-13",
            "count": 3
          },
          {
            "date": "2024-11-14",
            "count": 1
          },
          {
            "date": "2024-11-15",
            "count": 3
          },
          {
            "date": "2024-11-17",
            "count": 1
          },
          {
            "date": "2024-11-22",
            "count": 4
          },
          {
            "date": "2024-11-23",
            "count": 1
          },
          {
            "date": "2024-11-25",
            "count": 2
          },
          {
            "date": "2024-11-26",
            "count": 4
          },
          {
            "date": "2024-11-27",
            "count": 1
          },
          {
            "date": "2024-12-03",
            "count": 2
          },
          {
            "date": "2024-12-04",
            "count": 1
          },
          {
            "date": "2024-12-09",
            "count": 2
          },
          {
            "date": "2024-12-10",
            "count": 1
          },
          {
            "date": "2024-12-11",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 2
          },
          {
            "date": "2024-12-15",
            "count": 2
          },
          {
            "date": "2024-12-16",
            "count": 1
          },
          {
            "date": "2024-12-18",
            "count": 1
          },
          {
            "date": "2024-12-20",
            "count": 2
          },
          {
            "date": "2024-12-21",
            "count": 1
          },
          {
            "date": "2024-12-22",
            "count": 3
          },
          {
            "date": "2024-12-23",
            "count": 2
          },
          {
            "date": "2024-12-24",
            "count": 2
          },
          {
            "date": "2024-12-26",
            "count": 3
          },
          {
            "date": "2024-12-27",
            "count": 1
          },
          {
            "date": "2024-12-28",
            "count": 1
          },
          {
            "date": "2024-12-29",
            "count": 3
          },
          {
            "date": "2024-12-30",
            "count": 2
          },
          {
            "date": "2024-12-31",
            "count": 1
          },
          {
            "date": "2025-01-01",
            "count": 1
          },
          {
            "date": "2025-01-02",
            "count": 2
          },
          {
            "date": "2025-01-04",
            "count": 1
          },
          {
            "date": "2025-01-05",
            "count": 1
          },
          {
            "date": "2025-01-06",
            "count": 3
          },
          {
            "date": "2025-01-07",
            "count": 3
          },
          {
            "date": "2025-01-10",
            "count": 1
          },
          {
            "date": "2025-01-11",
            "count": 1
          },
          {
            "date": "2025-01-13",
            "count": 2
          },
          {
            "date": "2025-01-14",
            "count": 1
          },
          {
            "date": "2025-01-16",
            "count": 1
          },
          {
            "date": "2025-01-17",
            "count": 1
          },
          {
            "date": "2025-01-18",
            "count": 1
          },
          {
            "date": "2025-01-19",
            "count": 2
          },
          {
            "date": "2025-01-20",
            "count": 1
          },
          {
            "date": "2025-01-22",
            "count": 2
          },
          {
            "date": "2025-01-23",
            "count": 1
          },
          {
            "date": "2025-01-24",
            "count": 1
          },
          {
            "date": "2025-01-25",
            "count": 1
          },
          {
            "date": "2025-01-26",
            "count": 1
          },
          {
            "date": "2025-01-27",
            "count": 1
          },
          {
            "date": "2025-01-28",
            "count": 1
          },
          {
            "date": "2025-01-29",
            "count": 2
          },
          {
            "date": "2025-01-30",
            "count": 2
          },
          {
            "date": "2025-01-31",
            "count": 4
          },
          {
            "date": "2025-02-03",
            "count": 2
          },
          {
            "date": "2025-02-05",
            "count": 1
          },
          {
            "date": "2025-02-06",
            "count": 2
          },
          {
            "date": "2025-02-07",
            "count": 1
          },
          {
            "date": "2025-02-08",
            "count": 2
          },
          {
            "date": "2025-02-09",
            "count": 1
          },
          {
            "date": "2025-02-10",
            "count": 1
          },
          {
            "date": "2025-02-11",
            "count": 1
          },
          {
            "date": "2025-02-13",
            "count": 1
          },
          {
            "date": "2025-02-14",
            "count": 1
          },
          {
            "date": "2025-02-16",
            "count": 3
          },
          {
            "date": "2025-02-17",
            "count": 1
          },
          {
            "date": "2025-02-18",
            "count": 3
          },
          {
            "date": "2025-02-19",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 3
          },
          {
            "date": "2025-02-22",
            "count": 3
          },
          {
            "date": "2025-02-23",
            "count": 3
          },
          {
            "date": "2025-02-24",
            "count": 3
          },
          {
            "date": "2025-02-26",
            "count": 1
          },
          {
            "date": "2025-02-27",
            "count": 2
          },
          {
            "date": "2025-02-28",
            "count": 3
          },
          {
            "date": "2025-03-01",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 1
          },
          {
            "date": "2025-03-08",
            "count": 2
          },
          {
            "date": "2025-03-10",
            "count": 1
          },
          {
            "date": "2025-03-11",
            "count": 3
          },
          {
            "date": "2025-03-14",
            "count": 1
          },
          {
            "date": "2025-03-15",
            "count": 1
          },
          {
            "date": "2025-03-18",
            "count": 3
          },
          {
            "date": "2025-03-20",
            "count": 4
          },
          {
            "date": "2025-03-21",
            "count": 2
          },
          {
            "date": "2025-03-23",
            "count": 3
          },
          {
            "date": "2025-03-25",
            "count": 2
          },
          {
            "date": "2025-03-26",
            "count": 1
          },
          {
            "date": "2025-03-27",
            "count": 2
          },
          {
            "date": "2025-03-28",
            "count": 1
          },
          {
            "date": "2025-03-31",
            "count": 2
          },
          {
            "date": "2025-04-02",
            "count": 1
          },
          {
            "date": "2025-04-04",
            "count": 1
          },
          {
            "date": "2025-04-06",
            "count": 1
          },
          {
            "date": "2025-04-07",
            "count": 1
          },
          {
            "date": "2025-04-08",
            "count": 1
          },
          {
            "date": "2025-04-09",
            "count": 2
          },
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2025-04-12",
            "count": 2
          },
          {
            "date": "2025-04-15",
            "count": 1
          },
          {
            "date": "2025-04-17",
            "count": 1
          },
          {
            "date": "2025-04-22",
            "count": 1
          },
          {
            "date": "2025-04-23",
            "count": 3
          },
          {
            "date": "2025-04-26",
            "count": 2
          },
          {
            "date": "2025-04-29",
            "count": 1
          },
          {
            "date": "2025-04-30",
            "count": 1
          },
          {
            "date": "2025-05-04",
            "count": 2
          },
          {
            "date": "2025-05-05",
            "count": 1
          },
          {
            "date": "2025-05-06",
            "count": 2
          },
          {
            "date": "2025-05-10",
            "count": 2
          },
          {
            "date": "2025-05-12",
            "count": 2
          },
          {
            "date": "2025-05-15",
            "count": 2
          },
          {
            "date": "2025-05-16",
            "count": 3
          },
          {
            "date": "2025-05-19",
            "count": 1
          },
          {
            "date": "2025-05-20",
            "count": 1
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-05-22",
            "count": 2
          },
          {
            "date": "2025-05-24",
            "count": 1
          },
          {
            "date": "2025-05-25",
            "count": 1
          },
          {
            "date": "2025-05-26",
            "count": 2
          },
          {
            "date": "2025-05-27",
            "count": 1
          },
          {
            "date": "2025-05-28",
            "count": 3
          },
          {
            "date": "2025-05-30",
            "count": 2
          },
          {
            "date": "2025-06-03",
            "count": 1
          },
          {
            "date": "2025-06-04",
            "count": 5
          },
          {
            "date": "2025-06-06",
            "count": 1
          },
          {
            "date": "2025-06-07",
            "count": 1
          },
          {
            "date": "2025-06-08",
            "count": 2
          },
          {
            "date": "2025-06-09",
            "count": 3
          },
          {
            "date": "2025-06-12",
            "count": 1
          },
          {
            "date": "2025-06-15",
            "count": 1
          },
          {
            "date": "2025-06-19",
            "count": 1
          },
          {
            "date": "2025-06-20",
            "count": 1
          },
          {
            "date": "2025-06-21",
            "count": 1
          },
          {
            "date": "2025-06-22",
            "count": 2
          },
          {
            "date": "2025-06-23",
            "count": 1
          },
          {
            "date": "2025-06-27",
            "count": 3
          },
          {
            "date": "2025-06-28",
            "count": 1
          },
          {
            "date": "2025-06-29",
            "count": 2
          },
          {
            "date": "2025-06-30",
            "count": 1
          },
          {
            "date": "2025-07-01",
            "count": 1
          },
          {
            "date": "2025-07-03",
            "count": 1
          },
          {
            "date": "2025-07-06",
            "count": 2
          },
          {
            "date": "2025-07-08",
            "count": 1
          },
          {
            "date": "2025-07-10",
            "count": 2
          },
          {
            "date": "2025-07-11",
            "count": 2
          },
          {
            "date": "2025-07-12",
            "count": 2
          },
          {
            "date": "2025-07-15",
            "count": 4
          },
          {
            "date": "2025-07-18",
            "count": 3
          },
          {
            "date": "2025-07-19",
            "count": 3
          },
          {
            "date": "2025-07-20",
            "count": 1
          },
          {
            "date": "2025-07-23",
            "count": 2
          },
          {
            "date": "2025-07-25",
            "count": 1
          },
          {
            "date": "2025-07-27",
            "count": 1
          },
          {
            "date": "2025-07-28",
            "count": 1
          },
          {
            "date": "2025-07-29",
            "count": 3
          },
          {
            "date": "2025-07-30",
            "count": 4
          },
          {
            "date": "2025-07-31",
            "count": 1
          },
          {
            "date": "2025-08-03",
            "count": 2
          },
          {
            "date": "2025-08-06",
            "count": 3
          },
          {
            "date": "2025-08-08",
            "count": 1
          },
          {
            "date": "2025-08-09",
            "count": 1
          },
          {
            "date": "2025-08-11",
            "count": 2
          },
          {
            "date": "2025-08-12",
            "count": 1
          },
          {
            "date": "2025-08-14",
            "count": 1
          },
          {
            "date": "2025-08-16",
            "count": 1
          },
          {
            "date": "2025-08-18",
            "count": 2
          },
          {
            "date": "2025-08-24",
            "count": 1
          },
          {
            "date": "2025-08-26",
            "count": 2
          },
          {
            "date": "2025-08-27",
            "count": 1
          },
          {
            "date": "2025-08-28",
            "count": 1
          },
          {
            "date": "2025-08-29",
            "count": 2
          },
          {
            "date": "2025-08-30",
            "count": 1
          },
          {
            "date": "2025-08-31",
            "count": 1
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-03",
            "count": 2
          },
          {
            "date": "2025-09-04",
            "count": 1
          },
          {
            "date": "2025-09-06",
            "count": 1
          },
          {
            "date": "2025-09-08",
            "count": 2
          },
          {
            "date": "2025-09-09",
            "count": 3
          },
          {
            "date": "2025-09-10",
            "count": 1
          },
          {
            "date": "2025-09-12",
            "count": 2
          },
          {
            "date": "2025-09-13",
            "count": 3
          },
          {
            "date": "2025-09-14",
            "count": 1
          },
          {
            "date": "2025-09-18",
            "count": 2
          },
          {
            "date": "2025-09-19",
            "count": 1
          },
          {
            "date": "2025-09-20",
            "count": 1
          },
          {
            "date": "2025-09-21",
            "count": 1
          },
          {
            "date": "2025-09-24",
            "count": 2
          },
          {
            "date": "2025-09-26",
            "count": 2
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-09-28",
            "count": 1
          },
          {
            "date": "2025-09-29",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-10-01",
            "count": 3
          },
          {
            "date": "2025-10-09",
            "count": 1
          },
          {
            "date": "2025-10-13",
            "count": 1
          },
          {
            "date": "2025-10-14",
            "count": 1
          },
          {
            "date": "2025-10-16",
            "count": 1
          },
          {
            "date": "2025-10-19",
            "count": 1
          },
          {
            "date": "2025-10-20",
            "count": 1
          },
          {
            "date": "2025-10-23",
            "count": 1
          },
          {
            "date": "2025-10-27",
            "count": 1
          },
          {
            "date": "2025-10-29",
            "count": 1
          },
          {
            "date": "2025-10-31",
            "count": 4
          },
          {
            "date": "2025-11-02",
            "count": 2
          },
          {
            "date": "2025-11-03",
            "count": 1
          },
          {
            "date": "2025-11-06",
            "count": 1
          },
          {
            "date": "2025-11-08",
            "count": 1
          },
          {
            "date": "2025-11-11",
            "count": 1
          },
          {
            "date": "2025-11-12",
            "count": 1
          },
          {
            "date": "2025-11-16",
            "count": 1
          },
          {
            "date": "2025-11-24",
            "count": 1
          },
          {
            "date": "2025-11-25",
            "count": 2
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-11-28",
            "count": 1
          },
          {
            "date": "2025-11-30",
            "count": 2
          },
          {
            "date": "2025-12-03",
            "count": 3
          },
          {
            "date": "2025-12-04",
            "count": 2
          },
          {
            "date": "2025-12-10",
            "count": 1
          },
          {
            "date": "2025-12-12",
            "count": 1
          },
          {
            "date": "2025-12-13",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 1
          },
          {
            "date": "2025-12-21",
            "count": 1
          },
          {
            "date": "2025-12-23",
            "count": 1
          },
          {
            "date": "2025-12-24",
            "count": 1
          },
          {
            "date": "2025-12-25",
            "count": 1
          },
          {
            "date": "2025-12-26",
            "count": 1
          },
          {
            "date": "2026-01-02",
            "count": 1
          },
          {
            "date": "2026-01-04",
            "count": 2
          },
          {
            "date": "2026-01-06",
            "count": 1
          },
          {
            "date": "2026-01-09",
            "count": 1
          },
          {
            "date": "2026-01-10",
            "count": 1
          },
          {
            "date": "2026-01-12",
            "count": 2
          },
          {
            "date": "2026-01-16",
            "count": 1
          },
          {
            "date": "2026-01-18",
            "count": 1
          },
          {
            "date": "2026-01-19",
            "count": 5
          },
          {
            "date": "2026-01-20",
            "count": 2
          },
          {
            "date": "2026-01-21",
            "count": 3
          },
          {
            "date": "2026-01-23",
            "count": 2
          },
          {
            "date": "2026-01-24",
            "count": 1
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-01-27",
            "count": 1
          },
          {
            "date": "2026-01-31",
            "count": 2
          },
          {
            "date": "2026-02-03",
            "count": 1
          },
          {
            "date": "2026-02-04",
            "count": 1
          },
          {
            "date": "2026-02-12",
            "count": 2
          },
          {
            "date": "2026-02-13",
            "count": 1
          },
          {
            "date": "2026-02-14",
            "count": 1
          },
          {
            "date": "2026-02-17",
            "count": 1
          },
          {
            "date": "2026-02-19",
            "count": 3
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-21",
            "count": 2
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-02-24",
            "count": 1
          },
          {
            "date": "2026-02-26",
            "count": 1
          },
          {
            "date": "2026-02-27",
            "count": 2
          },
          {
            "date": "2026-02-28",
            "count": 1
          },
          {
            "date": "2026-03-01",
            "count": 2
          },
          {
            "date": "2026-03-03",
            "count": 1
          },
          {
            "date": "2026-03-06",
            "count": 1
          },
          {
            "date": "2026-03-07",
            "count": 2
          },
          {
            "date": "2026-03-08",
            "count": 1
          },
          {
            "date": "2026-03-09",
            "count": 2
          },
          {
            "date": "2026-03-10",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 2
          },
          {
            "date": "2026-03-14",
            "count": 1
          },
          {
            "date": "2026-03-15",
            "count": 1
          },
          {
            "date": "2026-03-16",
            "count": 2
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-03-21",
            "count": 1
          },
          {
            "date": "2026-03-22",
            "count": 1
          },
          {
            "date": "2026-03-24",
            "count": 2
          },
          {
            "date": "2026-03-26",
            "count": 1
          },
          {
            "date": "2026-03-27",
            "count": 2
          },
          {
            "date": "2026-04-04",
            "count": 1
          },
          {
            "date": "2026-04-05",
            "count": 1
          },
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-04-10",
            "count": 1
          },
          {
            "date": "2026-04-11",
            "count": 1
          },
          {
            "date": "2026-04-16",
            "count": 1
          },
          {
            "date": "2026-04-18",
            "count": 1
          },
          {
            "date": "2026-04-21",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-04-24",
            "count": 1
          },
          {
            "date": "2026-04-25",
            "count": 1
          },
          {
            "date": "2026-04-27",
            "count": 1
          },
          {
            "date": "2026-04-28",
            "count": 1
          },
          {
            "date": "2026-04-29",
            "count": 2
          },
          {
            "date": "2026-05-02",
            "count": 1
          },
          {
            "date": "2026-05-04",
            "count": 2
          },
          {
            "date": "2026-05-11",
            "count": 1
          },
          {
            "date": "2026-05-12",
            "count": 2
          },
          {
            "date": "2026-05-17",
            "count": 1
          },
          {
            "date": "2026-05-21",
            "count": 1
          },
          {
            "date": "2026-05-22",
            "count": 1
          },
          {
            "date": "2026-05-23",
            "count": 1
          },
          {
            "date": "2026-05-25",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 2
          },
          {
            "date": "2026-06-04",
            "count": 1
          },
          {
            "date": "2026-06-07",
            "count": 1
          },
          {
            "date": "2026-06-08",
            "count": 2
          },
          {
            "date": "2026-06-11",
            "count": 2
          },
          {
            "date": "2026-06-12",
            "count": 2
          },
          {
            "date": "2026-06-23",
            "count": 2
          },
          {
            "date": "2026-06-28",
            "count": 2
          },
          {
            "date": "2026-07-01",
            "count": 1
          },
          {
            "date": "2026-07-02",
            "count": 1
          },
          {
            "date": "2026-07-06",
            "count": 1
          },
          {
            "date": "2026-07-08",
            "count": 1
          },
          {
            "date": "2026-07-09",
            "count": 1
          },
          {
            "date": "2026-07-10",
            "count": 1
          },
          {
            "date": "2026-07-11",
            "count": 1
          },
          {
            "date": "2026-07-13",
            "count": 1
          },
          {
            "date": "2026-07-14",
            "count": 1
          },
          {
            "date": "2026-07-17",
            "count": 2
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_stars": 4226
      },
      "open_issues_and_prs": 27
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 60063,
      "source_files_sampled": 71,
      "oversized_source_files": 1,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "pyproject.toml"
      ],
      "advisories": {
        "error": "No resolved dependencies to assess",
        "scope": "repository_graph",
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "pypi"
      ],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [],
        "collected": true,
        "truncated": false,
        "total_count": 0,
        "direct_count": 0,
        "indirect_count": 0
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 1,
        "merged_prs": 478,
        "open_issues": 26,
        "closed_ratio": 0.973,
        "closed_issues": 933,
        "closed_unmerged_prs": 165
      },
      "bus_factor": 2,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "waylan",
          "commits": 355,
          "avatar_url": "https://avatars.githubusercontent.com/u/78846?v=4"
        },
        {
          "type": "User",
          "login": "mitya57",
          "commits": 78,
          "avatar_url": "https://avatars.githubusercontent.com/u/1381584?v=4"
        },
        {
          "type": "User",
          "login": "yuri",
          "commits": 73,
          "avatar_url": "https://avatars.githubusercontent.com/u/2119?v=4"
        },
        {
          "type": "User",
          "login": "facelessuser",
          "commits": 62,
          "avatar_url": "https://avatars.githubusercontent.com/u/1055125?v=4"
        },
        {
          "type": "User",
          "login": "oprypin",
          "commits": 11,
          "avatar_url": "https://avatars.githubusercontent.com/u/371383?v=4"
        },
        {
          "type": "User",
          "login": "lahwaacz",
          "commits": 10,
          "avatar_url": "https://avatars.githubusercontent.com/u/1289205?v=4"
        },
        {
          "type": "User",
          "login": "slig",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/37779?v=4"
        },
        {
          "type": "User",
          "login": "lama7",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/1053237?v=4"
        },
        {
          "type": "User",
          "login": "mdirolf",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/3546?v=4"
        },
        {
          "type": "User",
          "login": "ryneeverett",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/3280280?v=4"
        }
      ],
      "contributors_sampled": 100,
      "top_contributor_share": 0.46
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "changelog-enforcer.yml",
        "changelog-validator.yml",
        "deploy.yml",
        "manual_deploy.yml",
        "tox.yml",
        "version_check.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        "tox.ini"
      ],
      "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": 9,
            "reason": "26 out of 27 merged PRs checked by a CI test -- score normalized to 9",
            "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": 7,
            "reason": "Found 20/28 approved changesets -- score normalized to 7",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 38 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": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 10,
            "reason": "project is fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "4 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10",
            "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": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "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": "8453df010daf9547efcc20a05bb12c0e2fd2016a",
        "ran_at": "2026-07-22T01:32:45Z",
        "aggregate_score": 5.6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-08T18:21:23Z",
      "oldest_open_prs": [
        {
          "number": 1557,
          "created_at": "2025-09-26T10:13:19Z",
          "last_comment_at": "2025-09-26T16:24:38Z",
          "last_comment_author": "mondeja"
        }
      ],
      "last_merged_pr_at": "2026-07-08T18:19:24Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 53,
          "created_at": "2011-11-16T14:04:12Z",
          "last_comment_at": "2015-10-02T01:01:43Z",
          "last_comment_author": "waylan"
        },
        {
          "number": 495,
          "created_at": "2016-09-20T20:58:12Z",
          "last_comment_at": "2026-05-04T20:22:40Z",
          "last_comment_author": "waylan"
        },
        {
          "number": 760,
          "created_at": "2018-11-27T19:10:53Z",
          "last_comment_at": "2021-04-21T09:02:14Z",
          "last_comment_author": "Nirzak"
        },
        {
          "number": 798,
          "created_at": "2019-03-06T02:34:50Z",
          "last_comment_at": "2024-02-17T04:23:23Z",
          "last_comment_author": "stsewd"
        },
        {
          "number": 815,
          "created_at": "2019-04-12T19:12:08Z",
          "last_comment_at": "2019-06-13T15:54:55Z",
          "last_comment_author": "waylan"
        },
        {
          "number": 845,
          "created_at": "2019-07-12T11:08:02Z",
          "last_comment_at": "2026-01-05T14:10:17Z",
          "last_comment_author": "waylan"
        },
        {
          "number": 921,
          "created_at": "2020-03-18T15:38:04Z",
          "last_comment_at": "2020-03-20T20:14:52Z",
          "last_comment_author": "waylan"
        },
        {
          "number": 954,
          "created_at": "2020-05-05T07:44:30Z",
          "last_comment_at": "2026-05-24T08:56:30Z",
          "last_comment_author": "jbbqqf"
        },
        {
          "number": 1067,
          "created_at": "2020-11-15T19:27:15Z",
          "last_comment_at": "2020-11-16T16:18:44Z",
          "last_comment_author": "waylan"
        },
        {
          "number": 1096,
          "created_at": "2021-01-12T17:11:02Z",
          "last_comment_at": "2021-01-12T20:52:01Z",
          "last_comment_author": "facelessuser"
        },
        {
          "number": 1103,
          "created_at": "2021-02-06T18:11:08Z",
          "last_comment_at": "2022-09-17T23:10:59Z",
          "last_comment_author": "raylutz"
        },
        {
          "number": 1123,
          "created_at": "2021-03-26T14:21:14Z",
          "last_comment_at": "2023-03-16T13:57:47Z",
          "last_comment_author": "waylan"
        },
        {
          "number": 1178,
          "created_at": "2021-08-24T10:50:16Z",
          "last_comment_at": "2024-03-06T02:37:01Z",
          "last_comment_author": "j-davis-2022"
        },
        {
          "number": 1238,
          "created_at": "2022-03-26T02:35:04Z",
          "last_comment_at": "2022-03-28T15:47:06Z",
          "last_comment_author": "timmc"
        },
        {
          "number": 1244,
          "created_at": "2022-04-09T18:15:46Z",
          "last_comment_at": "2022-04-10T19:28:32Z",
          "last_comment_author": "waylan"
        },
        {
          "number": 1246,
          "created_at": "2022-04-28T01:57:34Z",
          "last_comment_at": "2025-07-09T14:32:18Z",
          "last_comment_author": "waylan"
        },
        {
          "number": 1383,
          "created_at": "2023-10-01T15:51:57Z",
          "last_comment_at": "2025-10-01T02:57:42Z",
          "last_comment_author": "wigging"
        },
        {
          "number": 1389,
          "created_at": "2023-10-09T15:44:50Z",
          "last_comment_at": "2023-11-08T20:22:55Z",
          "last_comment_author": "waylan"
        },
        {
          "number": 1412,
          "created_at": "2023-11-10T16:04:11Z",
          "last_comment_at": "2023-11-19T13:08:14Z",
          "last_comment_author": "pawamoy"
        },
        {
          "number": 1432,
          "created_at": "2024-01-18T19:29:40Z",
          "last_comment_at": "2024-02-02T18:57:04Z",
          "last_comment_author": "waylan"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Python-Markdown/markdown",
    "host": "github.com",
    "name": "markdown",
    "owner": "Python-Markdown"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 76,
      "inputs": {
        "security": 56,
        "vitality": 66,
        "community": 93,
        "governance": 74,
        "engineering": 89
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 66,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "commits_last_year": 23,
              "human_commit_share": 1,
              "days_since_last_push": 13,
              "active_weeks_last_year": 14
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 13 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 13
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "14/52 weeks with commits",
                "points": 9.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 14
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "23 commits in the last year",
                "points": 12.4,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 23
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "4 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "releases_count": 11,
              "latest_release_tag": "3.10.2",
              "releases_from_tags": false,
              "days_since_latest_release": 162,
              "mean_days_between_releases": 84.6
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "11 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 162 days ago",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 162
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~84.6 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 84.6
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 13,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 13 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 13
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 93,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 94,
            "inputs": {
              "forks": 902,
              "stars": 4226,
              "watchers": 75,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "4,226 stars",
                "points": 58.8,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 4226
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "902 forks",
                "points": 24.6,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 902
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "75 watchers",
                "points": 10.4,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 75
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (BSD-3-Clause)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "BSD-3-Clause"
                    }
                  }
                ],
                "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": 13.5,
                "status": "met",
                "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": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 74,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 100,
              "top_contributor_share": 0.46
            },
            "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 46% of commits",
                "points": 12.2,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 46
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "100 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 38 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "merged_prs": 478,
              "open_issues": 26,
              "closed_issues": 933,
              "issue_closed_ratio": 0.973,
              "closed_unmerged_prs": 165
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "97% of issues closed",
                "points": 45.5,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 97
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "478/643 decided PRs merged",
                "points": 28.4,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 478,
                      "decided": 643
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 20/28 approved changesets -- score normalized to 7",
                "points": 10.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "followers": 68,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "Python-Markdown",
              "public_repos": 4,
              "account_age_days": 4159
            },
            "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": "68 followers of Python-Markdown",
                "points": 13.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 68,
                      "login": "Python-Markdown"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "4 public repos, account ~11 yr old",
                "points": 17.1,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 4
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 11
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "Markdown"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 162
            },
            "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 162 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 162
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "60 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 60
                    }
                  }
                ],
                "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": "excellent",
        "name": "Engineering Quality",
        "value": 89,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 82,
            "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": "6 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "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": "tox.ini",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tox.ini"
                    }
                  }
                ],
                "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": "26 out of 27 merged PRs checked by a CI test -- score normalized to 9",
                "points": 18,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "python-markdown",
                "markdown",
                "markdown-parser",
                "markdown-to-html",
                "python",
                "python3"
              ],
              "has_wiki": true,
              "homepage": "https://python-markdown.github.io/",
              "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://python-markdown.github.io/",
                "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": "6 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 56,
        "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": 56,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 5.6
            },
            "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": "26 out of 27 merged PRs checked by a CI test -- score normalized to 9",
                "points": 2.2,
                "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 20/28 approved changesets -- score normalized to 7",
                "points": 5.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 38 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": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is fuzzed",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "4 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "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": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "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": "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": 8
            },
            "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": 42,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 24,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.45,
              "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": "45 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 24,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 45,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 51,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [
                "makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "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": "tox.ini",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tox.ini"
                    }
                  }
                ],
                "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": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "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": 60063,
              "source_files_sampled": 71,
              "oversized_source_files": 1
            },
            "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": "1/71 source files over 60KB",
                "points": 54.2,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 71,
                      "oversized": 1
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "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-22T01:33:11.474254Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/p/Python-Markdown/markdown.svg",
  "full_name": "Python-Markdown/markdown",
  "license_state": "standard",
  "license_spdx": "BSD-3-Clause"
}

评分是信号,而非担保。 评分反映的是 GitHub 上公开可见的实践——不是代码审计,也不是安全保证。

缺失数据将被剔除并重新归一化权重,绝不按零分计。方法论已版本化并公开:指标 v1.13.0、模式 v0.26.0—— 完整方法论 · 指标知识库.

单项结果在整体记录中的位置: 汇总统计PyPI.