公开记录
软件健康报告模式 0.23.0 · 指标 1.13.0 · 2026-07-21 20:19 UTC

skops-dev / skops

skops is a Python library helping you share your scikit-learn based models and put them in production

PythonMIT★ 522 星标⑂ 64 复刻始于 2022年5月在 GitHub 上查看 ↗

skops-dev/skops 的健康指数为 100 分中的 78 分,处于「良好」区间。 其得分最高的类别是Engineering Quality(95/100),最低的是AI Readiness(55/100)。 最近一次更新在 1 天前。 近期的大部分工作由 2 位贡献者完成。

78
总分 / 100
良好

软件健康指数

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

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

评分画像

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

所有权

skops-dev组织
19 关注者1 个公开仓库始于 2022年5月

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

软件包生态系统

注册表软件包版本月下载量版本数最近发布
PyPIskops0.14.018,648,9841692 天前

按类别列示的指标

活力

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

69中等 · 占总体的 22%
评分方式
36/36推送新近度 — 最近一次推送于 1 天前
12.5/36提交节奏 — 52 周中有 18 周有提交
13.6/18提交量 — 最近一年 32 次提交
0/10OpenSSF Scorecard:Maintained — 无数据
所用输入
commits_last_year32
human_commit_share0.63
days_since_last_push1
active_weeks_last_year18

发布纪律

70良好
评分方式
27/27有发布版本 — 已发布 14 个发布版本
16.2/36发布时效 — 最近一次发布版本于 349 天前
19.8/27发布节奏 — 约每 106.7 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count14
latest_release_tagv0.13.0
releases_from_tags
days_since_latest_release349
mean_days_between_releases106.7

社区与采用

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

78良好 · 占总体的 18%
评分方式
44.1/60星标 — 522 个星标
15/25复刻 — 64 个复刻
4.7/15关注者 — 8 位关注者
所用输入
forks64
stars522
watchers8
growth_stateorganic
growth_factor_pct100

社区健康

77良好
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(MIT)
18/18CONTRIBUTING 指南
0/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
评分方式
80/80月度下载量 — pypi 合计每月 18,648,984 次下载
0/20注册表被依赖数 — 该生态系统不报告此项
所用输入
packagesskops
dependents
ecosystemspypi
total_downloads
monthly_downloads18,648,984
已排除计分(无数据或不适用):注册表被依赖数。 其余权重已重新归一化。

可持续性与治理

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

71良好 · 占总体的 24%
评分方式
25.2/54巴士系数 — 2 位贡献者贡献了半数提交
12.8/22.5提交分布 — 头号贡献者编写了 43% 的提交
13.5/13.5贡献者广度 — 22 位贡献者
0/10OpenSSF Scorecard:Contributors — 无数据
所用输入
bus_factor2
contributors_sampled22
top_contributor_share0.431
评分方式
40.7/46.8议题解决 — 87% 的议题已关闭
32.5/38.3PR 接受 — 已裁定的 PR 中 311/366 已合并
0/15OpenSSF Scorecard:Code-Review — 无数据
所用输入
merged_prs311
open_issues20
closed_issues135
issue_closed_ratio0.871
closed_unmerged_prs55
评分方式
30/30所有权背书 — 组织持有
0/20已验证域名
9.4/25所有者影响力 — skops-dev 有 19 位关注者
10.6/25既往记录 — 1 个公开仓库,账户约 4 年
所用输入
followers19
owner_typeOrganization
is_verified
owner_loginskops-dev
public_repos1
account_age_days1,539
评分方式
25/25已发布且可解析 — pypi 上有 1 个软件包
35/35发布时效 — 最近一次发布于 92 天前
20/20版本历史 — 16 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packagesskops
ecosystemspypi
any_deprecated
min_days_since_publish92

工程质量

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

95优秀 · 占总体的 20%

工程实践

92优秀
评分方式
24/24CI 工作流 — 3 个工作流
24/24存在测试
16/16Linter 配置
9.6/9.6Pre-commit 钩子
0/6.4.editorconfig
0/20OpenSSF Scorecard:CI-Tests — 无数据
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

文档

100优秀
评分方式
30/30README
25/25文档目录
15/15文档 / 主页站点 — https://skops.readthedocs.io/en/stable/
10/10仓库描述
10/10主题标签 — 5 个主题标签
10/10Wiki
所用输入
topicshuggingface, machine-learning, mlops, scikit-learn, hacktoberfest
has_wiki
homepagehttps://skops.readthedocs.io/en/stable/
has_readme
has_docs_dir
has_description

安全

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

78良好 · 占总体的 16%

安全态势

73良好
评分方式
30/30安全策略(SECURITY.md)
25/25Dependabot 配置
0/25依赖锁定文件 — 已发布的类库——锁定文件属于应用层关注点,不作要求
0/20CodeQL 工作流
所用输入
sourcefile_signals
lockfiles
manifestsdocs/requirements.txt, pyproject.toml
has_codeql_workflow
has_security_policy
has_dependabot_config
已排除计分(无数据或不适用):依赖锁定文件。 其余权重已重新归一化。
评分方式
35/35直接依赖不含已知公告 — 没有直接依赖携带已知公告
25/25间接依赖不含已知公告 — 没有间接依赖携带已知公告
0/40没有长期未处理的公告 — 没有公告带有发布日期
所用输入
sourceosv
advisories0
affected_packages0
assessed_packages9
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
已排除计分(无数据或不适用):没有长期未处理的公告。 其余权重已重新归一化。 比对的是 pypi:skops@0.14.0 的运行时依赖闭包——安装已发布的软件包时真正被拉取进来的内容——共 9 个软件包。 未对可达性进行分析。

AI 就绪度

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

55中等 · 占总体的 0%
评分方式
0/45代理指令 — 没有 CLAUDE.md / AGENTS.md / 编辑器规则
0/15机器可读文档(llms.txt)
40/40可读的提交历史 — 63 次人类提交中有 62 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.984
agent_instruction_files
agent_instruction_max_bytes
评分方式
18/18一条命令的引导启动 — Makefile, docs/Makefile
22/22自动化测试
11/11Lint / 格式化配置
0/11静态类型检查
0/10可复现环境
6/10已体现的代理实践 — 最近 100 次提交中有 3 次由代理编写或署名代理
8/8自动化维护 — 最近 100 次提交中有 37 次为自动依赖更新
0/10OpenSSF Scorecard:Pinned-Dependencies — 无数据
所用输入
has_nix
has_tests
lockfiles
has_dockerfile
typed_language
bootstrap_filesMakefile, docs/Makefile
has_devcontainer
has_linter_config
typecheck_configs
agent_commit_share0.03
toolchain_manifests
dependency_bot_commit_share0.37
评分方式
0/45可类型检查的代码 — Python,未配置类型检查
53.3/55可控的文件大小 — 采样的 63 个源文件中有 2 个超过 60KB
所用输入
primary_languagePython
largest_source_bytes65,647
source_files_sampled63
oversized_source_files2

机器可读接口

40存在风险
评分方式
0/40API 模式(OpenAPI/GraphQL/proto)
0/20MCP 服务器
40/40可运行示例 — examples
所用输入
example_dirsexamples
has_mcp_signal
api_schema_files

关键数据

522GitHub 星标
22贡献者
32最近 12 个月提交数
1距最近推送天数
14发布版本数
2巴士系数(bus factor)
20开放议题
PyPI软件包生态系统数

数据采集警告

  • OpenSSF Scorecard did not return a usable result (2026/07/21 20:19:05 Warning: PATs stored in env variables GITHUB_AUTH_TOKEN and GITHUB_TOKEN differ. Scorecard will use the former.); skipping Scorecard checks

更多细节

Star 与 Fork 历史 522 ★ / 64 ⇿
522Star
64Fork
14发布

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

010020030040050060052262622022-052024-062026-07
主版本 0次版本 9修订 0

每个点涵盖 4 天。

直接依赖 5
注册表软件包版本约束清单文件
PyPInumpy>=1.25.0pyproject.toml
PyPIscipy>=1.10.0pyproject.toml
PyPIscikit-learn>=1.2pyproject.toml
PyPIprettytable>=3.9pyproject.toml
PyPIpackaging>=17.0pyproject.toml
全部依赖 19

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

注册表软件包版本关系
PyPInumpy直接
PyPIpackaging直接
PyPIprettytable直接
PyPIscikit-learn直接
PyPIscipy直接
PyPIcatboost间接
PyPIfairlearn间接
PyPIhuggingface-hub间接
PyPIlightgbm间接
PyPImatplotlib间接
PyPInumpydoc间接
PyPIpandas间接
PyPIrich间接
PyPIsphinx间接
PyPIsphinx-gallery间接
PyPIsphinx-issues间接
PyPIsphinx-prompt间接
PyPIsphinx-rtd-theme间接
PyPIxgboost间接
依赖安全公告 0

安装 pypi:skops@0.14.0 会引入 9 个包(直接与传递):其中 0 个存在已知公告,0 个为直接依赖。

没有已知公告影响已评估的依赖。

公告表示依赖图中记录的版本落入某条公告的受影响范围。可达性未经分析,且依赖图包含开发与测试的版本固定——某项发现可能只涉及工具链而非交付的软件。

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [
        "huggingface",
        "machine-learning",
        "mlops",
        "scikit-learn",
        "hacktoberfest"
      ],
      "is_fork": false,
      "size_kb": 1491,
      "has_wiki": true,
      "homepage": "https://skops.readthedocs.io/en/stable/",
      "languages": {
        "Python": 450983,
        "Makefile": 149
      },
      "pushed_at": "2026-07-20T00:04:06Z",
      "created_at": "2022-05-04T13:30:17Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T06:20:53Z",
      "description": "skops is a Python library helping you share your scikit-learn based models and put them in production",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "Python",
      "significant_languages": [
        "Python"
      ]
    },
    "owner": {
      "blog": null,
      "name": null,
      "type": "Organization",
      "login": "skops-dev",
      "company": null,
      "location": null,
      "followers": 19,
      "avatar_url": "https://avatars.githubusercontent.com/u/104910083?v=4",
      "created_at": "2022-05-04T13:22:09Z",
      "is_verified": null,
      "public_repos": 1,
      "account_age_days": 1539
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": null,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.13.0",
          "kind": "minor",
          "published_at": "2025-08-06T09:50:24Z"
        },
        {
          "tag": "v0.12.0",
          "kind": "minor",
          "published_at": "2025-07-25T12:21:14Z"
        },
        {
          "tag": "v0.11.0",
          "kind": "minor",
          "published_at": "2024-12-10T12:24:12Z"
        },
        {
          "tag": "v0.10",
          "kind": "other",
          "published_at": "2024-08-08T14:05:43Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2023-10-23T12:23:08Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2023-06-28T10:06:50Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2023-06-07T10:44:18Z"
        },
        {
          "tag": "v0.6",
          "kind": "other",
          "published_at": "2023-04-03T10:09:52Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2023-01-24T15:44:55Z"
        },
        {
          "tag": "v0.4.0.post1",
          "kind": "other",
          "published_at": "2022-12-20T10:11:10Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2022-12-16T13:22:41Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2022-11-28T12:54:42Z"
        },
        {
          "tag": "v0.2",
          "kind": "other",
          "published_at": "2022-08-25T14:19:26Z"
        },
        {
          "tag": "v0.1",
          "kind": "other",
          "published_at": "2022-08-11T08:23:58Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "0791e84ea03b8c3482370ba634209d2aa97c47e0",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.9.6 to 0.10.0.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.9.6...v0.10.0)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/s\n[…]\nirect:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.9.6 to 0.10.0 (#522)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-07T12:55:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "50d3165fd6abd9183520ba59bfff57af1c131f37",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v6...v7)\n\n---\nupdated-dependenc\n[…]\nmajor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": true,
          "headline": "Bump actions/checkout from 6 to 7 (#519)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-23T10:39:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "487e232053bdbc261b2026fc1b36a7abf87ec435",
          "body": "* MNT bump nightly scikit-learn pin to 1.10.dev0\n\nThe scientific-python-nightly-wheels index no longer publishes\nscikit-learn 1.9.dev0, so pixi fails to solve the `default` and\n`ci-sklearn-nightly` environments. Since every CI job resolves the\n`default` environment, this broke all of CI (e.g. PR #51\n[…]\ndirectory like fig1, so it is cleaned up with it.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix nightly sklearn pin (#520)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2026-06-23T10:21:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "aa11c372aa727d53405bea75b6f59bbe17aa3343",
          "body": "Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6 to 7.\n- [Release notes](https://github.com/codecov/codecov-action/releases)\n- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codecov/codecov-action/compare/v\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump codecov/codecov-action from 6 to 7 (#518)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-08T09:07:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c9b827dbf5306674c245440cef20d1d74b6be8a4",
          "body": "* FIX overflow handling for sklearn nightly HTML repr\n\nNewer sklearn versions (1.9+) emit `sk-top-container` both as a CSS\nclass definition (.sk-top-container.sk-global { ... }) and as an HTML\nclass attribute. The previous naive string replace only ran when the\ntoken appeared exactly once and would \n[…]\ny, which was\nmissing from the v6 lock and would have broken the sklearn-nightly CI\nonce the new nightly wheels start depending on narwhals.\n\n* CI bump pixi version to v0.68.0 to support v7 lock format",
          "is_bot": false,
          "headline": "MNT remove HF-specific overflow injection from model plot (#517)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2026-05-26T08:42:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9581cd76a622b6c4600999fb2db1f4c164a8bd0e",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.9.5 to 0.9.6.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.9.5...v0.9.6)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/set\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.9.5 to 0.9.6 (#516)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-26T07:04:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f61636d4334ebb3a84546cdb47cf2cff670e0436",
          "body": null,
          "is_bot": false,
          "headline": "MNT start new version 0.15.dev0 (#514)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2026-04-20T18:30:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e74ebfbd9c39b648e41358aa10f030d70149d855",
          "body": "* Trust internal sklearn types needed for GB/HGB models\n\nAddress review comments from PR #508:\n- Add sklearn internal types to _trusted_types.py instead of creating\n  a new SklearnInternalObjectNode (review comment 2)\n- Include internal types in ObjectNode's trusted defaults\n- Add tests that save/lo\n[…]\n-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: adrinjalali <1663864+adrinjalali@users.noreply.github.com>\nCo-authored-by: adrinjalali <adrin.jalali@gmail.com>",
          "is_bot": false,
          "headline": "Trust internal scikit-learn types needed for GB/HGB models (#513)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-04-17T13:21:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2c42dbb335d2f4586a6ad2e71af11d8e103c4d5d",
          "body": "* MNT Update type hints to modern Python syntax\n\nAgent-Logs-Url: https://github.com/skops-dev/skops/sessions/6f0f4f08-6cde-47f1-81e0-33fd192d422e\n\nCo-authored-by: adrinjalali <1663864+adrinjalali@users.noreply.github.com>\n\n* Fix missing blank line between imports in _convert.py\n\nAgent-Logs-Url: http\n[…]\nali@users.noreply.github.com>\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: adrinjalali <1663864+adrinjalali@users.noreply.github.com>",
          "is_bot": false,
          "headline": "MNT: Update type hints to modern Python 3.10+ syntax (#511)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-04-13T17:35:44Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7969d5d62954f91ba4051a86e469e157d111b938",
          "body": "* DOC improve persist messages\n\n* update docs for changed/removed/unmaintained HF related stuff",
          "is_bot": false,
          "headline": "DOC refresh docs to represent current status more clearly (#512)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2026-04-13T16:37:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1576473e736a906d30df18b20c0ca96dd71764f2",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.12.4 to 1.14.0.\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.12.4...v1.14.0)\n\n---\nupdated-dependencies:\n- dep\n[…]\nminor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.14.0 (#510)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-13T15:11:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2639483ff8bca07705d4a34baea72dae71565620",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.9.3 to 0.9.5.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.9.3...v0.9.5)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/set\n[…]\npatch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.9.3 to 0.9.5 (#509)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-13T15:11:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "27462774c9b8aeb08fd1d983a8e36f81cdd801c0",
          "body": "* Change development status from Planning to Beta\n\n* Rename marie.sacksick@posteo.net to pyproject.toml\n\n---------\n\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": false,
          "headline": "Maint: Change development status from Planning to Beta (#500)",
          "author_name": "Marie Sacksick",
          "author_login": "MarieSacksick",
          "committed_at": "2026-04-13T15:11:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e1c43ba0b15bc5438600fff430cd18d806a0ee3",
          "body": "* SEC fix load module issue in LossNode\n\n* minor fix to pyproject.toml\n\n* remove id\n\n* fix QuantileForest\n\n* bumping scipy since there's a known issue with lapack on windows CI\n\n* update pixi lock file\n\n* trigger CI\n\n* regression test\n\n* update pixi\n\n* fix card tests",
          "is_bot": false,
          "headline": "Fix a security issue in LossNode (#506)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2026-04-13T13:39:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b5861ce510a70413f0ae892003b0aa5312b3765e",
          "body": "Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5 to 6.\n- [Release notes](https://github.com/codecov/codecov-action/releases)\n- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codecov/codecov-action/compare/v\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump codecov/codecov-action from 5 to 6 (#507)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-30T11:58:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9e225a153be2072f325b6324d9791aff645c88f8",
          "body": "* add sklearn1.8 test runs\n\n* run gha\n\n* use reg_param to avoid singularity\n\n* lint\n\n* Delete pixi.lock\n\n* Uncomment conditional for pytest job\n\n* Add back pixi.lock\n\n* bump up python version\n\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>\n\n* bump up numpy version\n\nCo-authored-by: Adrin Jalal\n[…]\nearn nightly ver is 1.9.dev0\n\n* update pixi lock\n\n* comment to TODO for catboost issue\n\n* Update build-test.yml\n\n* undo mistake delete\n\n---------\n\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": false,
          "headline": "MNT Fix CI issue from new scikit-learn==1.8.0 (#503)",
          "author_name": "Ivan Ivanov",
          "author_login": "divakaivan",
          "committed_at": "2026-01-05T15:33:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fafc22dbbe10af7c0032d497dfa38211aa1161e4",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v5...v6)\n\n---\nupdated-dependenc\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/checkout from 5 to 6 (#499)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-12-15T12:25:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4abf4aeeccdebd95f65cb534dcfbfad94c794384",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.9.2 to 0.9.3.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.9.2...v0.9.3)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/set\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.9.2 to 0.9.3 (#497)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-11-13T13:53:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0cdfeb48acf19d2c74554c5363ee715ab4c2a687",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.9.1 to 0.9.2.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.9.1...v0.9.2)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/set\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.9.1 to 0.9.2 (#496)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-10-27T14:04:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9aed7034ccacbd555757e630365ee4dd0b1edc8d",
          "body": "* Clean up deprecation warnings in pyproject.toml\n\nRan the gha on my fork and all besides 1 is still needed.\n\n* ignore `PassiveAggressiveClassifier`'s `FutureWarning`\n\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>\n\n* ignore PassiveAgressive(Classifier|Regressor) warnings\n\n* fix SparseCoder test\n\n---------\n\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": false,
          "headline": "CI Cleanup pytest warning/errors (#495)",
          "author_name": "Ivan Ivanov",
          "author_login": "divakaivan",
          "committed_at": "2025-10-07T09:54:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0fa536e6583819c929896645cef192c42babdec0",
          "body": null,
          "is_bot": false,
          "headline": "DOC Minor text cleanup in model card page (#494)",
          "author_name": "Ivan Ivanov",
          "author_login": "divakaivan",
          "committed_at": "2025-10-03T15:23:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25015879f0d166936a6fe687651473c5dd91d436",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.9.0 to 0.9.1.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.9.0...v0.9.1)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/set\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.9.0 to 0.9.1 (#493)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-10-02T14:16:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c183954b6b0ace2b999d37a5ae0c873eac0bcfc7",
          "body": null,
          "is_bot": false,
          "headline": "MAINT: fix the way to point to the license file (#492)",
          "author_name": "Guillaume Lemaitre",
          "author_login": "glemaitre",
          "committed_at": "2025-09-12T11:23:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6d3f0fee9c1f8888be729a95b814a6707bc1c18",
          "body": "Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/v5...v6)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-python\n  dependency-\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/setup-python from 5 to 6 (#491)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-09-08T07:44:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d9294579e5c4f41c86f51c51b824c7c758fff75f",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v4...v5)\n\n---\nupdated-dependenc\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/checkout from 4 to 5 (#488)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-08-19T14:24:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "da7ffda51a9e202fbf06ebfc9d1a63708cc340a3",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.8.14 to 0.9.0.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.8.14...v0.9.0)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/s\n[…]\nirect:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.8.14 to 0.9.0 (#489)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-08-19T14:24:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "de90d8355748507e042b25578ad17237f1242d04",
          "body": null,
          "is_bot": false,
          "headline": "MNT post release changes (#487)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2025-08-06T11:17:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "29d61ea8a92f2bde6830e8f32cc72a1a87211cda",
          "body": "…ading (#485)\n\n* ENH harden Card by adding a flag to allow/disallow insecure pickle loading\n\n* improved typing for `trusted` arg in `Card`\n\n* TST updated test after `Card` hardening\n\n* ENH better exception handling when trying to load a pickle with allow_pickle=False\n\n* TST added tests for Card when pickle is passed and allow_pickle=False\n\n* changelog",
          "is_bot": false,
          "headline": "ENH harden Card by adding a flag to allow/disallow insecure pickle lo…",
          "author_name": "Gabriele Digregorio",
          "author_login": "io-no",
          "committed_at": "2025-08-06T09:37:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c457718a67229ca92190b718bdcbfe8a16672d8",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.8.12 to 0.8.14.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.8.12...v0.8.14)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.8.12 to 0.8.14 (#486)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-07-28T12:57:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d985ac91d2066754308b54c0dbd47ca0abcfede3",
          "body": "* MNT post release changes\n\n* feedstock",
          "is_bot": false,
          "headline": "MNT post release changes (#484)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2025-07-25T12:41:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0aeca055509dfb48c1506870aabdd9e247adf603",
          "body": "* ENH harden Method and Operator node audits\n\n* ...\n\n* ...\n\n* trigger CI\n\n* add tests\n\n* CI timeout\n\n* changelog\n\n* codecov count change\n\n* trigger CI",
          "is_bot": false,
          "headline": "ENH harden Method and Operator node audits (#482)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2025-07-25T12:01:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53cabd2c702b4d796656b64746df503b94024657",
          "body": "* MNT update CI\n\n* ...\n\n* ...\n\n* ...\n\n* ...",
          "is_bot": false,
          "headline": "MNT fix CI issues (#481)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2025-07-22T14:06:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d43ebdd2c5e0a53a257d82435153eee6db44a7d7",
          "body": "---\nupdated-dependencies:\n- dependency-name: prefix-dev/setup-pixi\n  dependency-version: 0.8.12\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.8.10 to 0.8.12 (#480)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-07-21T08:31:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d508c21e420dfdc3f04a3175ea28950ecaec46c",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.8.8 to 0.8.10.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.8.8...v0.8.10)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/s\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.8.8 to 0.8.10 (#477)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-06-17T12:24:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c0a96e2ec55379ba77b88b9e0c1e94db2c0e3301",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.8.4 to 0.8.8.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.8.4...v0.8.8)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/set\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.8.4 to 0.8.8 (#476)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-04-23T12:11:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cedb63ca7e762dc349967993b5529fcc93e4fa8e",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.8.3 to 0.8.4.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.8.3...v0.8.4)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/set\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.8.3 to 0.8.4 (#474)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-04-10T15:06:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5d35fcbb17ca710d714a03288c25b9007abf2f1b",
          "body": "* FIX use rich.tree instead of rich.print\n\n* iter\n\n* iter\n\n* linter\n\n* few fixes\n\n* fix tags and adapt test color rich\n\n* fix\n\n---------\n\nCo-authored-by: adrinjalali <adrin.jalali@gmail.com>",
          "is_bot": false,
          "headline": "FIX use rich.tree instead of rich.print (#472)",
          "author_name": "Guillaume Lemaitre",
          "author_login": "glemaitre",
          "committed_at": "2025-03-08T17:44:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dcd2328feee7686ae76309ea60d52de69f17c4f1",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.8.2 to 0.8.3.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.8.2...v0.8.3)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/set\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.8.2 to 0.8.3 (#471)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-02-24T16:05:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2ec709c04785a280f8bf807a7c441aefec4011d7",
          "body": "* ENH support types with a safe __reduce__\n\n* update pixi config\n\n* cleanup and add test\n\n* add sklearn12 to CI",
          "is_bot": false,
          "headline": "ENH support types with a safe __reduce__ (#467)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2025-02-18T17:00:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "60ba9bfdd50913df93d94e21a888b0ba5a222d11",
          "body": null,
          "is_bot": false,
          "headline": "MNT Add SECURITY.md (#470)",
          "author_name": "Loïc Estève",
          "author_login": "lesteve",
          "committed_at": "2025-02-18T14:31:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9463fb9ddc32eac506288187aa59e19c78c6ece0",
          "body": "Bumps [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) from 0.8.1 to 0.8.2.\n- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)\n- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.8.1...v0.8.2)\n\n---\nupdated-dependencies:\n- dependency-name: prefix-dev/set\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump prefix-dev/setup-pixi from 0.8.1 to 0.8.2 (#469)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-02-17T11:55:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f032cc050a214683912526610ed663c2025eb08e",
          "body": "* MNT replace tabular with prettytable\r\n\r\n* update lock file",
          "is_bot": false,
          "headline": "MNT replace tabular with prettytable (#466)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2025-01-30T13:04:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d69fef0f2df3e22bbb7067fca5f5bba489410850",
          "body": "* MNT fix dependency versions\r\n\r\n* max sklearn=1.3 support\r\n\r\n* drop python=3.9\r\n\r\n* remove old code\r\n\r\n* update pixi.lock\r\n\r\n* linter",
          "is_bot": false,
          "headline": "MNT fix pixi config and support sklearn>=1.3 (#461)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2025-01-29T13:14:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d1d2afb6f3a198114ab812c74e3585e9a6439b6",
          "body": "* remove some references\r\n\r\n* bulk remove hub_utils\r\n\r\n* remove getting started code\r\n\r\n* cleanup and same pixi version on CI",
          "is_bot": false,
          "headline": "MNT remove deprecated hub_utils (#462)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2025-01-29T12:07:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6dfba0b2128a682a0a9023164039b6e1712ac955",
          "body": null,
          "is_bot": false,
          "headline": "DOC Add links to PyPI and conda-forge (#465)",
          "author_name": "Dennis M. Pöpperl",
          "author_login": "ykgmfq",
          "committed_at": "2025-01-28T13:12:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8156f2a35ef772beedfbb18a76dfce629a0e4e37",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.12.3 to 1.12.4.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.12.3...v1.12.4)\r\n\r\n---\r\nupdated-dependencies:\r\n[…]\n:production\r\n  update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4 (#463)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-01-27T14:06:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a4e8ba99c397558ff9a6b7badc7f2f1e6fc313ba",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.12.2 to 1.12.3.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.12.2...v1.12.3)\r\n\r\n---\r\nupdated-dependencies:\r\n[…]\n:production\r\n  update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3 (#460)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-12-16T10:06:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7eb8000f8cc1de046e12ca314420203b80a9dbd8",
          "body": null,
          "is_bot": false,
          "headline": "MNT rename file (#458)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-12-10T13:56:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51fda7ceefbc2306ed0964fb6f0b1398a58c4cf6",
          "body": null,
          "is_bot": false,
          "headline": "MNT fix link (#457)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-12-10T13:52:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21697e239f0bd7f1c96978b51aedcd0b930db5a9",
          "body": null,
          "is_bot": false,
          "headline": "MNT add funding file to apply to floss.fund (#456)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-12-10T13:47:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "92b041bb66fa77d4599e118461ad6ccd49496d36",
          "body": null,
          "is_bot": false,
          "headline": "MNT bump version (#455)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-12-10T12:41:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2bec2ca4f7fba400f99edb07d45f493dbe7fc132",
          "body": "* fixes for cython objects\r\n\r\n* chnagelog\r\n\r\n* trigger CI\r\n\r\n* reduce -> reduced",
          "is_bot": false,
          "headline": "MNT support older cython types' reduce (#453)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-12-06T13:07:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "765fec33e175feb6c491947fcab173995fb1981d",
          "body": null,
          "is_bot": false,
          "headline": "MNT set the default shell (#452)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-12-03T17:48:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c98560e66a62555d28cd9edd66f5bfbaf543cc06",
          "body": "* move to pyproject.toml build system\r\n\r\n* remove setup.cfg\r\n\r\n* config and workflow\r\n\r\n* wanna see all runs\r\n\r\n* only run new ones\r\n\r\n* contributing docs\r\n\r\n* pixi versoin\r\n\r\n* mypy\r\n\r\n* ...\r\n\r\n* ...\r\n\r\n* ...\r\n\r\n* trigger CI",
          "is_bot": false,
          "headline": "MNT moving to pixi for better CI reprodocibility (#451)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-12-03T16:35:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "00f5f071059d95159cfda54528101757c6652418",
          "body": "* Fix _sgd imports\r\n\r\n* Fix _safe_tags import issue\r\n\r\n* Change _construct_instance import\r\n\r\n* Change get_tags syntax\r\n\r\n* Ignore FutureWarning in sklearn\r\n\r\n* Update skops/io/_sklearn.py\r\n\r\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>\r\n\r\n* Update skops/io/_sklearn.py\r\n\r\nCo-authored-by: Ad\n[…]\n_construct_instances\r\n\r\n* Refactor get_input()\r\n\r\n* trigger CI\r\n\r\n* debug CI\r\n\r\n* ...\r\n\r\n* ...\r\n\r\n* ...\r\n\r\n* ...\r\n\r\n* ...\r\n\r\n* ...\r\n\r\n---------\r\n\r\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": false,
          "headline": "MNT Sklearn1.6 compatibility (#447)",
          "author_name": "Tamara",
          "author_login": "TamaraAtanasoska",
          "committed_at": "2024-12-02T13:23:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fb356747ff465658ec4f8359b61fda895206d17f",
          "body": "Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 5.\r\n- [Release notes](https://github.com/codecov/codecov-action/releases)\r\n- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/codecov/codecov-action/compar\n[…]\n:production\r\n  update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump codecov/codecov-action from 3 to 5 (#449)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-11-19T09:51:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "16ffdd03289488e5fbfedf48064270b5dd2b36f4",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.11.0 to 1.12.2.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.11.0...v1.12.2)\r\n\r\n---\r\nupdated-dependencies:\r\n[…]\n:production\r\n  update-type: version-update:semver-minor\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.11.0 to 1.12.2 (#448)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-11-11T10:59:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "678a2cf0186e452ef1838903ae822e2e2f25e775",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.10.3 to 1.11.0.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.10.3...v1.11.0)\r\n\r\n---\r\nupdated-dependencies:\r\n[…]\n:production\r\n  update-type: version-update:semver-minor\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0 (#446)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-11-04T12:46:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7b5045bbfe92eca7392eeaa49a661bd19e4d2c8b",
          "body": "* MNT add python 3.13 tests\r\n\r\n* remove model card deployer\r\n\r\n* ...\r\n\r\n* ...\r\n\r\n* ...\r\n\r\n* ...",
          "is_bot": false,
          "headline": "MNT add python 3.13 tests (#445)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-10-25T12:56:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa8e5c3d5215aa1efcfdf2877884a75131317e73",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.10.1 to 1.10.3.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.10.1...v1.10.3)\r\n\r\n---\r\nupdated-dependencies:\r\n[…]\n:production\r\n  update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.3 (#442)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-10-15T10:27:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "35f46c5c6524ae99caf5e846ad32fad281527234",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.10.0 to 1.10.1.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.10.0...v1.10.1)\r\n\r\n---\r\nupdated-dependencies:\r\n[…]\n:production\r\n  update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 (#438)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-09-17T10:22:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fc04ffced522bff4b6446bb2254224ffc81a1c30",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.9.0 to 1.10.0.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.9.0...v1.10.0)\r\n\r\n---\r\nupdated-dependencies:\r\n-\n[…]\n:production\r\n  update-type: version-update:semver-minor\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.0 (#437)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-09-05T11:41:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4467309416af71f4787487c5f0ecd829c1133669",
          "body": "* ENH correctly restore default_factory of a defaultdict\r\n\r\n* MNT add changelog for new version and bump version\r\n\r\n* add OrderedDict trusted\r\n\r\n* rename builtin type names to container type names\r\n\r\n* add test for OrderedDict\r\n\r\n* test type as well",
          "is_bot": false,
          "headline": "ENH correctly restore default_factory of a defaultdict (#433)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-08-08T14:03:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17d6b2e6af7def55fd1fdd76bfa9fe343179d241",
          "body": null,
          "is_bot": false,
          "headline": "MNT bump version on main (#436)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-07-22T14:10:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be2b79deaebef67658215eff1cdad1e6c6e95e8a",
          "body": null,
          "is_bot": false,
          "headline": "DOC add warning on skops convert (#434)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-07-16T10:01:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4dae82de31be54f5989b769948ed244dd0fea8d4",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.14 to 1.9.0.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.14...v1.9.0)\r\n\r\n---\r\nupdated-dependencies:\r\n-\n[…]\n\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\r\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#424)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-07-11T14:17:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "07bdefd2344f8bea754494678507fc7523e224da",
          "body": "Co-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": false,
          "headline": "FIX incorrect path in generated model card (#428)",
          "author_name": "Camille Troillard",
          "author_login": null,
          "committed_at": "2024-07-05T11:54:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef7b19d235c14aaea5f065ec63903b23baf516f0",
          "body": null,
          "is_bot": false,
          "headline": "DOC add changelog (#431)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-07-03T15:48:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2bfda5de47127844399e98195cd2aa8aa4e473ac",
          "body": "* Revert \"MNT space creator only after merge\"\r\n\r\nThis reverts commit 3803876655d76d84f7287358de3eb272e380ea9b.\r\n\r\n* MNT fix card tests\r\n\r\n* fix np.random.Generator equality check\r\n\r\n* save numpy bit_generator's seed sequence\r\n\r\n* ignore np.core deprecation warning in whichmodule\r\n\r\n* TST check somet\n[…]\n file\r\n\r\n* fix workflow\r\n\r\n* absolute imports\r\n\r\n* ignore mypy already defined error\r\n\r\n* another go at testing numpy1\r\n\r\n* upgrade pip\r\n\r\n* ignore mypy\r\n\r\n* make windows happy\r\n\r\n* remove unused code",
          "is_bot": false,
          "headline": "MNT Support numpy2 (#429)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-07-03T15:29:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "25a9d99e1fa650f5442fe8d0ede3839c7b7219c7",
          "body": "* SEC remove trusted=True\r\n\r\n* FIX make the rest of the fixes and make sure tests pass\r\n\r\n* TST add test for trusted=True\r\n\r\n* DOC add changelog\r\n\r\n* DOC update PR number\r\n\r\n* ENH make the error message more helpful\r\n\r\n* Address Benjamin's comments\r\n\r\n* CLN fix a typecheck to what we really want",
          "is_bot": false,
          "headline": "ENH remove `trusted=True` from skops.io.load(s) (#422)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-06-13T10:49:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f69b92873fe62e4f8881a93588dc9d49ba614adc",
          "body": "* MNT space creator only after merge\r\n\r\n* Revert \"MNT space creator only after merge\"\r\n\r\nThis reverts commit 3803876655d76d84f7287358de3eb272e380ea9b.\r\n\r\n* MNT space creator on main only",
          "is_bot": false,
          "headline": "CI Space creator on `main` only (#423)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-06-10T13:45:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "167f1257130c33631c1f43b3d41bdc87b584b7cb",
          "body": "* MNT refresh expired token\r\n\r\n* fix matplotlib deprecation\r\n\r\n* reformat\r\n\r\n* reformat\r\n\r\n* add version comment\r\n\r\n* add codecov token\r\n\r\n* token changed?\r\n\r\n* revert to codecov uploader v3",
          "is_bot": false,
          "headline": "MNT refresh expired token (#421)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-06-05T10:05:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "813a2402ad5f52039b3f825e6b913b7b8c73193f",
          "body": "* Removes sklearn-intelex and updates changelog\r\n\r\n* Removes sklearn-intelex from the API\r\n\r\n* Update docs/changes.rst\r\n\r\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>\r\n\r\n* Removes extra paragraph from examples.rst\r\n\r\n---------\r\n\r\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": false,
          "headline": "MNT - Removes sklearn-intelex and updates changelog (#420)",
          "author_name": "Thomas Lazarus",
          "author_login": "lazarust",
          "committed_at": "2024-05-14T12:00:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "384b4628122d95131136d8ff46f6adccdff5f229",
          "body": "* Removes Python 3.8 support\r\n\r\n* Bump pypa/gh-action-pypi-publish from 1.8.12 to 1.8.14 (#416)\r\n\r\nBumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.12 to 1.8.14.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https\n[…]\n-----\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\r\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": false,
          "headline": "MNT - Removes Python 3.8 support (#418)",
          "author_name": "Thomas Lazarus",
          "author_login": "lazarust",
          "committed_at": "2024-05-03T09:50:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "510e4ae6f6cb42f0041977126464e87ed2e2f4ac",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.12 to 1.8.14.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.12...v1.8.14)\r\n\r\n---\r\nupdated-dependencies:\r\n[…]\n:production\r\n  update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.8.12 to 1.8.14 (#416)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-04-23T14:21:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "38b38f43d3b4720e9db575296133a51e063d3672",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.11 to 1.8.12.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.11...v1.8.12)\r\n\r\n---\r\nupdated-dependencies:\r\n[…]\n\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\r\nCo-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12 (#413)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-03-05T08:57:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5972c0d650fefecd3c17f803d28d3ea96407bc2b",
          "body": null,
          "is_bot": false,
          "headline": "CI fix codecov token (#415)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-03-05T08:14:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6737e7805f8c77b0fe28c95042f2a32332620051",
          "body": "* CI pin pytest to <8 for flaky\r\n\r\n* alternative method\r\n\r\n* fix bash",
          "is_bot": false,
          "headline": "CI pin pytest to <8 for flaky (#414)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-03-04T16:54:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "299241346f34e0cd31b119192e0bae8e920c4319",
          "body": "* Empty commit for testing\r\n\r\n* Let's check if adding .fixes fixes the error",
          "is_bot": false,
          "headline": "FIX parse_version import from sklearn (#412)",
          "author_name": "Benjamin Bossan",
          "author_login": "BenjaminBossan",
          "committed_at": "2024-02-29T07:22:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcc1ec5f0f1bcd76f22df4cfebda587d1385695f",
          "body": null,
          "is_bot": false,
          "headline": "MNT bump codecov uploader (#410)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-02-14T10:32:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eedd628958d22304545cde12aeef3e35fde537f9",
          "body": "* MNT ignore pandas warning\r\n\r\n* fix regex\r\n\r\n* trigger ci\r\n\r\n* MNT ignore fairlearn's warning",
          "is_bot": false,
          "headline": "MNT ignore pandas warning (#409)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2024-02-07T13:42:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bed8339ee427cad56cad6a4db756b5514446eea9",
          "body": "Return type from client.model_info.lastModified is now a tz-aware\r\ndatetime object.",
          "is_bot": false,
          "headline": "Fix failing clean_skops.py script (#407)",
          "author_name": "Benjamin Bossan",
          "author_login": "BenjaminBossan",
          "committed_at": "2024-01-05T15:19:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70d7335c092f9e9e2fedfd965f2d08a9186e019a",
          "body": null,
          "is_bot": false,
          "headline": "TST expect warning in API call (#403)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2023-12-14T14:29:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01f43009915ce8569bdd5f578ed26891399f2a79",
          "body": "Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.\r\n- [Release notes](https://github.com/actions/setup-python/releases)\r\n- [Commits](https://github.com/actions/setup-python/compare/v4...v5)\r\n\r\nAlso:\r\n\r\n- rotate HF token\r\n- fix doctests (for sklearn nightly)\r\n\r\n---\r\nup\n[…]\n  update-type: version-update:semver-major\r\n...\r\n\r\n---------\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "MNT Bump actions/setup-python from 4 to 5 and fix tests (#405)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2023-12-13T10:44:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9c37be483073981288eb89d5f821636dd9bd7735",
          "body": null,
          "is_bot": false,
          "headline": "MNT post 0.9 release (#400)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2023-12-04T15:54:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4010ad230151902d0313dda8d7ba1cce343b0528",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.10 to 1.8.11.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.10...v1.8.11)\r\n\r\n---\r\nupdated-dependencies:\r\n[…]\n:production\r\n  update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "MNT Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 (#402)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2023-12-04T15:34:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "20a72bcde3fe1ebad135410ac4bd394bb29ff4e4",
          "body": null,
          "is_bot": false,
          "headline": "CI move to pypi's trusted publisher workflow (#399)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2023-10-23T11:54:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "60d706368680b9a6640ae894689a4e39973d905e",
          "body": "* DEPR hub_utils.push\r\n\r\n* use new linters\r\n\r\n* remove examples using push\r\n\r\n* use and simplify california housing example",
          "is_bot": false,
          "headline": "DEPR hub_utils.push (#398)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2023-10-23T09:58:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41f71fd9e9ce0c1544dedf30e69c8327ab20ac11",
          "body": null,
          "is_bot": false,
          "headline": "MNT update linters and use ruff (#397)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2023-10-13T16:01:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98541de250011f54301caf07c92b9e2d6dd1587a",
          "body": null,
          "is_bot": false,
          "headline": "DEPR deprecate hub_utils.get_model_output (#396)",
          "author_name": "Adrin Jalali",
          "author_login": "adrinjalali",
          "committed_at": "2023-10-12T12:43:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6c1ae914f6b625478203ab581201f1f7e0ae38b",
          "body": "Co-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": false,
          "headline": "FIX: fixed `get_log_level` when level = 3 (#346)",
          "author_name": "Edoardo Abati",
          "author_login": "EdAbati",
          "committed_at": "2023-10-12T12:04:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "933edbe48764050821843dbfe5588735977107f9",
          "body": null,
          "is_bot": false,
          "headline": "MNT: updates to HF Hub, manage fairlearn deprecation (#392)",
          "author_name": "Benjamin Bossan",
          "author_login": "BenjaminBossan",
          "committed_at": "2023-10-11T12:49:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a3c01277529685755b8481dba277b38ff080eb9",
          "body": "Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "MNT Bump actions/checkout from 3 to 4 (#390)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2023-09-18T16:31:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e21b30853bc22f2525ecfb77d303a1c1289cf6e8",
          "body": "Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.8 to 1.8.10.\r\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\r\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.8...v1.8.10)\r\n\r\n---\r\nupdated-dependencies:\r\n-\n[…]\n:production\r\n  update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 (#387)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2023-08-14T09:44:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "61aa5343a08d8813dc3d0d574abfe6371c3c70a5",
          "body": "Co-authored-by: Benjamin Bossan <BenjaminBossan@users.noreply.github.com>",
          "is_bot": false,
          "headline": "ENH: Quantile Forest Support (#384)",
          "author_name": "Reid Johnson",
          "author_login": "reidjohnson",
          "committed_at": "2023-08-03T17:07:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e8523d202e3360e74b5eea3f004480561dee53be",
          "body": "* Fix DecisionTree Visualization\r\n\r\nReturn empty if node is a constructor.\r\n\r\n* Update visualization tests\r\n\r\nSwap LogisticRegression or RandomForestRegressor\r\n\r\n* Visualize type object\r\n\r\n* Add visualize tests for decision trees\r\n\r\n* Revert changes\r\n\r\n* Pass trust info to child\r\n\r\n* Pass as explicit kwargs and update docstring\r\n\r\n* Add changelog\r\n\r\n* Wrap constructor in TypeNode\r\n\r\n* Update DT unit test names\r\n\r\n* Use get_module\r\n\r\n* Fix DT unit test for sklearn 1.4",
          "is_bot": false,
          "headline": "FIX: Decision Tree Visualization (#386)",
          "author_name": "Reid Johnson",
          "author_login": "reidjohnson",
          "committed_at": "2023-08-01T09:44:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "923dafb64433f599b2f62f8b746938979e1aea03",
          "body": "Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "MNT Bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.8 (#382)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2023-07-19T21:26:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2199aba79e657c242d85fca0e7b7e6e8b636521",
          "body": "Co-authored-by: Adrin Jalali <adrin.jalali@gmail.com>",
          "is_bot": false,
          "headline": "MNT: Support Catboost for Python 3.11 (#380)",
          "author_name": "Edoardo Abati",
          "author_login": "EdAbati",
          "committed_at": "2023-07-07T10:12:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae9d73976720511f104d51e4275124f8abb2431d",
          "body": "Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "MNT Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7 (#379)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2023-07-05T10:54:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e5632e4d361405102d935e6a066b5e73bc88d45",
          "body": "…istence issue (#375)",
          "is_bot": false,
          "headline": "MNT: Update repo URL of sklearn nightly build, fix sparse matrix pers…",
          "author_name": "Benjamin Bossan",
          "author_login": "BenjaminBossan",
          "committed_at": "2023-07-05T10:53:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 14,
      "commits_last_year": 32,
      "latest_release_at": "2025-08-06T09:50:24Z",
      "latest_release_tag": "v0.13.0",
      "releases_from_tags": false,
      "days_since_last_push": 1,
      "active_weeks_last_year": 18,
      "days_since_latest_release": 349,
      "mean_days_between_releases": 106.7
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "skops",
          "exists": true,
          "license": null,
          "keywords": [
            "Development Status :: 4 - Beta",
            "Intended Audience :: Developers",
            "Intended Audience :: Science/Research",
            "License :: OSI Approved",
            "Operating System :: MacOS",
            "Operating System :: Microsoft :: Windows",
            "Operating System :: POSIX",
            "Operating System :: Unix",
            "Programming Language :: Python",
            "Programming Language :: Python :: 3",
            "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 :: 3.9",
            "Programming Language :: Python :: Implementation :: CPython",
            "Topic :: Scientific/Engineering",
            "Topic :: Software Development"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/skops/",
          "is_deprecated": false,
          "latest_version": "0.14.0",
          "repository_url": "http://github.com/skops-dev/skops",
          "versions_count": 16,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 18648984,
          "first_published_at": "2022-05-04T13:58:51.970858Z",
          "latest_published_at": "2026-04-20T18:23:55.336389Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 92
        }
      ]
    },
    "popularity": {
      "forks": 64,
      "stars": 522,
      "watchers": 8,
      "fork_history": {
        "days": [
          {
            "date": "2022-05-04",
            "count": 1
          },
          {
            "date": "2022-05-13",
            "count": 1
          },
          {
            "date": "2022-08-08",
            "count": 1
          },
          {
            "date": "2022-08-11",
            "count": 1
          },
          {
            "date": "2022-09-11",
            "count": 1
          },
          {
            "date": "2022-10-04",
            "count": 1
          },
          {
            "date": "2022-10-05",
            "count": 3
          },
          {
            "date": "2022-10-07",
            "count": 2
          },
          {
            "date": "2022-10-14",
            "count": 1
          },
          {
            "date": "2022-10-17",
            "count": 1
          },
          {
            "date": "2022-10-19",
            "count": 2
          },
          {
            "date": "2022-10-20",
            "count": 1
          },
          {
            "date": "2022-10-26",
            "count": 1
          },
          {
            "date": "2022-10-27",
            "count": 1
          },
          {
            "date": "2022-11-08",
            "count": 1
          },
          {
            "date": "2022-11-30",
            "count": 2
          },
          {
            "date": "2022-12-01",
            "count": 1
          },
          {
            "date": "2022-12-08",
            "count": 1
          },
          {
            "date": "2022-12-10",
            "count": 1
          },
          {
            "date": "2022-12-27",
            "count": 1
          },
          {
            "date": "2023-01-15",
            "count": 1
          },
          {
            "date": "2023-02-02",
            "count": 1
          },
          {
            "date": "2023-02-03",
            "count": 1
          },
          {
            "date": "2023-02-08",
            "count": 1
          },
          {
            "date": "2023-02-20",
            "count": 1
          },
          {
            "date": "2023-04-24",
            "count": 1
          },
          {
            "date": "2023-07-04",
            "count": 1
          },
          {
            "date": "2023-07-24",
            "count": 1
          },
          {
            "date": "2023-10-12",
            "count": 2
          },
          {
            "date": "2023-10-17",
            "count": 1
          },
          {
            "date": "2023-10-23",
            "count": 1
          },
          {
            "date": "2024-05-09",
            "count": 1
          },
          {
            "date": "2024-06-12",
            "count": 1
          },
          {
            "date": "2024-06-19",
            "count": 1
          },
          {
            "date": "2024-07-04",
            "count": 2
          },
          {
            "date": "2024-10-17",
            "count": 1
          },
          {
            "date": "2024-11-13",
            "count": 1
          },
          {
            "date": "2025-01-28",
            "count": 1
          },
          {
            "date": "2025-02-18",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 1
          },
          {
            "date": "2025-03-19",
            "count": 1
          },
          {
            "date": "2025-05-31",
            "count": 1
          },
          {
            "date": "2025-07-14",
            "count": 1
          },
          {
            "date": "2025-07-25",
            "count": 1
          },
          {
            "date": "2025-08-25",
            "count": 1
          },
          {
            "date": "2025-09-09",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-10-14",
            "count": 1
          },
          {
            "date": "2025-11-21",
            "count": 1
          },
          {
            "date": "2025-12-08",
            "count": 1
          },
          {
            "date": "2025-12-13",
            "count": 1
          },
          {
            "date": "2026-03-30",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 1
          },
          {
            "date": "2026-06-13",
            "count": 1
          },
          {
            "date": "2026-07-05",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 62,
        "total_forks": 64
      },
      "star_history": {
        "days": [
          {
            "date": "2022-05-04",
            "count": 2
          },
          {
            "date": "2022-05-12",
            "count": 1
          },
          {
            "date": "2022-05-16",
            "count": 1
          },
          {
            "date": "2022-05-19",
            "count": 1
          },
          {
            "date": "2022-06-30",
            "count": 1
          },
          {
            "date": "2022-07-19",
            "count": 1
          },
          {
            "date": "2022-07-20",
            "count": 1
          },
          {
            "date": "2022-07-28",
            "count": 1
          },
          {
            "date": "2022-08-10",
            "count": 4
          },
          {
            "date": "2022-08-11",
            "count": 15
          },
          {
            "date": "2022-08-12",
            "count": 5
          },
          {
            "date": "2022-08-13",
            "count": 2
          },
          {
            "date": "2022-08-14",
            "count": 1
          },
          {
            "date": "2022-08-15",
            "count": 14
          },
          {
            "date": "2022-08-16",
            "count": 6
          },
          {
            "date": "2022-08-17",
            "count": 1
          },
          {
            "date": "2022-08-18",
            "count": 1
          },
          {
            "date": "2022-08-20",
            "count": 1
          },
          {
            "date": "2022-08-23",
            "count": 1
          },
          {
            "date": "2022-08-24",
            "count": 1
          },
          {
            "date": "2022-08-25",
            "count": 1
          },
          {
            "date": "2022-08-26",
            "count": 1
          },
          {
            "date": "2022-08-27",
            "count": 1
          },
          {
            "date": "2022-08-31",
            "count": 1
          },
          {
            "date": "2022-09-01",
            "count": 1
          },
          {
            "date": "2022-09-08",
            "count": 1
          },
          {
            "date": "2022-09-11",
            "count": 1
          },
          {
            "date": "2022-09-17",
            "count": 1
          },
          {
            "date": "2022-09-29",
            "count": 1
          },
          {
            "date": "2022-09-30",
            "count": 1
          },
          {
            "date": "2022-10-03",
            "count": 2
          },
          {
            "date": "2022-10-04",
            "count": 3
          },
          {
            "date": "2022-10-05",
            "count": 4
          },
          {
            "date": "2022-10-11",
            "count": 1
          },
          {
            "date": "2022-10-13",
            "count": 1
          },
          {
            "date": "2022-10-14",
            "count": 3
          },
          {
            "date": "2022-10-15",
            "count": 16
          },
          {
            "date": "2022-10-16",
            "count": 11
          },
          {
            "date": "2022-10-17",
            "count": 19
          },
          {
            "date": "2022-10-18",
            "count": 16
          },
          {
            "date": "2022-10-19",
            "count": 3
          },
          {
            "date": "2022-10-20",
            "count": 2
          },
          {
            "date": "2022-10-21",
            "count": 3
          },
          {
            "date": "2022-10-24",
            "count": 2
          },
          {
            "date": "2022-10-27",
            "count": 1
          },
          {
            "date": "2022-10-28",
            "count": 1
          },
          {
            "date": "2022-10-29",
            "count": 1
          },
          {
            "date": "2022-10-31",
            "count": 1
          },
          {
            "date": "2022-11-03",
            "count": 4
          },
          {
            "date": "2022-11-04",
            "count": 1
          },
          {
            "date": "2022-11-06",
            "count": 1
          },
          {
            "date": "2022-11-08",
            "count": 1
          },
          {
            "date": "2022-11-09",
            "count": 1
          },
          {
            "date": "2022-11-10",
            "count": 1
          },
          {
            "date": "2022-11-16",
            "count": 1
          },
          {
            "date": "2022-11-17",
            "count": 1
          },
          {
            "date": "2022-11-25",
            "count": 1
          },
          {
            "date": "2022-11-26",
            "count": 1
          },
          {
            "date": "2022-11-28",
            "count": 2
          },
          {
            "date": "2022-11-29",
            "count": 3
          },
          {
            "date": "2022-11-30",
            "count": 4
          },
          {
            "date": "2022-12-01",
            "count": 1
          },
          {
            "date": "2022-12-02",
            "count": 2
          },
          {
            "date": "2022-12-03",
            "count": 4
          },
          {
            "date": "2022-12-04",
            "count": 2
          },
          {
            "date": "2022-12-05",
            "count": 8
          },
          {
            "date": "2022-12-06",
            "count": 3
          },
          {
            "date": "2022-12-07",
            "count": 3
          },
          {
            "date": "2022-12-08",
            "count": 3
          },
          {
            "date": "2022-12-10",
            "count": 1
          },
          {
            "date": "2022-12-11",
            "count": 1
          },
          {
            "date": "2022-12-12",
            "count": 2
          },
          {
            "date": "2022-12-16",
            "count": 1
          },
          {
            "date": "2022-12-17",
            "count": 2
          },
          {
            "date": "2022-12-18",
            "count": 2
          },
          {
            "date": "2022-12-20",
            "count": 1
          },
          {
            "date": "2022-12-24",
            "count": 1
          },
          {
            "date": "2022-12-25",
            "count": 1
          },
          {
            "date": "2022-12-27",
            "count": 1
          },
          {
            "date": "2023-01-02",
            "count": 1
          },
          {
            "date": "2023-01-03",
            "count": 1
          },
          {
            "date": "2023-01-05",
            "count": 1
          },
          {
            "date": "2023-01-11",
            "count": 1
          },
          {
            "date": "2023-01-12",
            "count": 1
          },
          {
            "date": "2023-01-13",
            "count": 1
          },
          {
            "date": "2023-01-15",
            "count": 1
          },
          {
            "date": "2023-01-16",
            "count": 3
          },
          {
            "date": "2023-01-19",
            "count": 2
          },
          {
            "date": "2023-01-22",
            "count": 1
          },
          {
            "date": "2023-01-23",
            "count": 1
          },
          {
            "date": "2023-01-24",
            "count": 1
          },
          {
            "date": "2023-01-25",
            "count": 4
          },
          {
            "date": "2023-01-26",
            "count": 2
          },
          {
            "date": "2023-01-27",
            "count": 1
          },
          {
            "date": "2023-01-28",
            "count": 1
          },
          {
            "date": "2023-01-31",
            "count": 1
          },
          {
            "date": "2023-02-02",
            "count": 2
          },
          {
            "date": "2023-02-03",
            "count": 1
          },
          {
            "date": "2023-02-05",
            "count": 1
          },
          {
            "date": "2023-02-07",
            "count": 1
          },
          {
            "date": "2023-02-09",
            "count": 1
          },
          {
            "date": "2023-02-16",
            "count": 1
          },
          {
            "date": "2023-02-21",
            "count": 1
          },
          {
            "date": "2023-02-22",
            "count": 1
          },
          {
            "date": "2023-02-23",
            "count": 2
          },
          {
            "date": "2023-03-01",
            "count": 1
          },
          {
            "date": "2023-03-02",
            "count": 3
          },
          {
            "date": "2023-03-07",
            "count": 1
          },
          {
            "date": "2023-03-08",
            "count": 1
          },
          {
            "date": "2023-03-11",
            "count": 1
          },
          {
            "date": "2023-03-15",
            "count": 1
          },
          {
            "date": "2023-03-19",
            "count": 1
          },
          {
            "date": "2023-03-20",
            "count": 2
          },
          {
            "date": "2023-03-22",
            "count": 1
          },
          {
            "date": "2023-03-23",
            "count": 1
          },
          {
            "date": "2023-03-24",
            "count": 1
          },
          {
            "date": "2023-03-26",
            "count": 1
          },
          {
            "date": "2023-03-28",
            "count": 1
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-03-31",
            "count": 1
          },
          {
            "date": "2023-04-01",
            "count": 1
          },
          {
            "date": "2023-04-03",
            "count": 2
          },
          {
            "date": "2023-04-13",
            "count": 1
          },
          {
            "date": "2023-04-17",
            "count": 1
          },
          {
            "date": "2023-04-18",
            "count": 2
          },
          {
            "date": "2023-04-19",
            "count": 17
          },
          {
            "date": "2023-04-20",
            "count": 7
          },
          {
            "date": "2023-04-21",
            "count": 1
          },
          {
            "date": "2023-04-23",
            "count": 1
          },
          {
            "date": "2023-04-24",
            "count": 1
          },
          {
            "date": "2023-04-25",
            "count": 1
          },
          {
            "date": "2023-04-26",
            "count": 1
          },
          {
            "date": "2023-04-27",
            "count": 2
          },
          {
            "date": "2023-04-29",
            "count": 1
          },
          {
            "date": "2023-05-11",
            "count": 1
          },
          {
            "date": "2023-05-17",
            "count": 1
          },
          {
            "date": "2023-05-20",
            "count": 1
          },
          {
            "date": "2023-05-22",
            "count": 1
          },
          {
            "date": "2023-05-27",
            "count": 3
          },
          {
            "date": "2023-05-28",
            "count": 1
          },
          {
            "date": "2023-05-30",
            "count": 2
          },
          {
            "date": "2023-05-31",
            "count": 1
          },
          {
            "date": "2023-06-01",
            "count": 1
          },
          {
            "date": "2023-06-07",
            "count": 2
          },
          {
            "date": "2023-06-12",
            "count": 1
          },
          {
            "date": "2023-06-14",
            "count": 1
          },
          {
            "date": "2023-06-18",
            "count": 1
          },
          {
            "date": "2023-06-20",
            "count": 1
          },
          {
            "date": "2023-06-21",
            "count": 1
          },
          {
            "date": "2023-06-24",
            "count": 1
          },
          {
            "date": "2023-06-27",
            "count": 1
          },
          {
            "date": "2023-07-07",
            "count": 1
          },
          {
            "date": "2023-07-09",
            "count": 1
          },
          {
            "date": "2023-07-18",
            "count": 2
          },
          {
            "date": "2023-07-19",
            "count": 1
          },
          {
            "date": "2023-07-21",
            "count": 1
          },
          {
            "date": "2023-07-23",
            "count": 1
          },
          {
            "date": "2023-07-26",
            "count": 1
          },
          {
            "date": "2023-08-17",
            "count": 1
          },
          {
            "date": "2023-08-18",
            "count": 2
          },
          {
            "date": "2023-08-21",
            "count": 2
          },
          {
            "date": "2023-08-23",
            "count": 1
          },
          {
            "date": "2023-08-25",
            "count": 1
          },
          {
            "date": "2023-08-29",
            "count": 1
          },
          {
            "date": "2023-08-30",
            "count": 1
          },
          {
            "date": "2023-08-31",
            "count": 1
          },
          {
            "date": "2023-09-01",
            "count": 1
          },
          {
            "date": "2023-09-13",
            "count": 1
          },
          {
            "date": "2023-09-15",
            "count": 1
          },
          {
            "date": "2023-09-16",
            "count": 1
          },
          {
            "date": "2023-09-28",
            "count": 1
          },
          {
            "date": "2023-09-29",
            "count": 1
          },
          {
            "date": "2023-10-08",
            "count": 2
          },
          {
            "date": "2023-10-10",
            "count": 1
          },
          {
            "date": "2023-10-11",
            "count": 1
          },
          {
            "date": "2023-10-18",
            "count": 1
          },
          {
            "date": "2023-10-21",
            "count": 1
          },
          {
            "date": "2023-10-23",
            "count": 2
          },
          {
            "date": "2023-11-02",
            "count": 1
          },
          {
            "date": "2023-11-05",
            "count": 1
          },
          {
            "date": "2023-11-06",
            "count": 2
          },
          {
            "date": "2023-11-07",
            "count": 2
          },
          {
            "date": "2023-11-12",
            "count": 1
          },
          {
            "date": "2023-11-14",
            "count": 1
          },
          {
            "date": "2023-11-15",
            "count": 1
          },
          {
            "date": "2023-11-17",
            "count": 1
          },
          {
            "date": "2023-11-27",
            "count": 1
          },
          {
            "date": "2023-12-13",
            "count": 1
          },
          {
            "date": "2023-12-28",
            "count": 1
          },
          {
            "date": "2024-01-16",
            "count": 1
          },
          {
            "date": "2024-01-30",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 2
          },
          {
            "date": "2024-02-02",
            "count": 2
          },
          {
            "date": "2024-02-04",
            "count": 1
          },
          {
            "date": "2024-02-05",
            "count": 1
          },
          {
            "date": "2024-02-06",
            "count": 1
          },
          {
            "date": "2024-02-19",
            "count": 1
          },
          {
            "date": "2024-02-21",
            "count": 1
          },
          {
            "date": "2024-02-23",
            "count": 1
          },
          {
            "date": "2024-03-03",
            "count": 1
          },
          {
            "date": "2024-03-07",
            "count": 3
          },
          {
            "date": "2024-03-08",
            "count": 1
          },
          {
            "date": "2024-03-09",
            "count": 1
          },
          {
            "date": "2024-03-11",
            "count": 1
          },
          {
            "date": "2024-03-12",
            "count": 1
          },
          {
            "date": "2024-03-14",
            "count": 1
          },
          {
            "date": "2024-03-24",
            "count": 1
          },
          {
            "date": "2024-03-31",
            "count": 2
          },
          {
            "date": "2024-04-01",
            "count": 1
          },
          {
            "date": "2024-04-02",
            "count": 1
          },
          {
            "date": "2024-04-05",
            "count": 1
          },
          {
            "date": "2024-04-07",
            "count": 1
          },
          {
            "date": "2024-04-08",
            "count": 2
          },
          {
            "date": "2024-04-11",
            "count": 1
          },
          {
            "date": "2024-04-19",
            "count": 1
          },
          {
            "date": "2024-04-20",
            "count": 1
          },
          {
            "date": "2024-04-23",
            "count": 1
          },
          {
            "date": "2024-04-26",
            "count": 1
          },
          {
            "date": "2024-04-28",
            "count": 1
          },
          {
            "date": "2024-05-01",
            "count": 1
          },
          {
            "date": "2024-05-05",
            "count": 1
          },
          {
            "date": "2024-05-09",
            "count": 1
          },
          {
            "date": "2024-05-10",
            "count": 1
          },
          {
            "date": "2024-05-12",
            "count": 1
          },
          {
            "date": "2024-05-29",
            "count": 1
          },
          {
            "date": "2024-06-09",
            "count": 1
          },
          {
            "date": "2024-06-19",
            "count": 1
          },
          {
            "date": "2024-06-27",
            "count": 2
          },
          {
            "date": "2024-07-04",
            "count": 1
          },
          {
            "date": "2024-07-23",
            "count": 1
          },
          {
            "date": "2024-08-05",
            "count": 1
          },
          {
            "date": "2024-08-14",
            "count": 1
          },
          {
            "date": "2024-08-16",
            "count": 1
          },
          {
            "date": "2024-08-19",
            "count": 1
          },
          {
            "date": "2024-08-20",
            "count": 1
          },
          {
            "date": "2024-08-27",
            "count": 1
          },
          {
            "date": "2024-08-28",
            "count": 1
          },
          {
            "date": "2024-09-03",
            "count": 1
          },
          {
            "date": "2024-09-17",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 1
          },
          {
            "date": "2024-10-06",
            "count": 1
          },
          {
            "date": "2024-10-08",
            "count": 2
          },
          {
            "date": "2024-10-21",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-30",
            "count": 1
          },
          {
            "date": "2024-11-01",
            "count": 2
          },
          {
            "date": "2024-11-09",
            "count": 1
          },
          {
            "date": "2024-11-13",
            "count": 1
          },
          {
            "date": "2024-11-23",
            "count": 1
          },
          {
            "date": "2024-11-25",
            "count": 1
          },
          {
            "date": "2024-11-27",
            "count": 1
          },
          {
            "date": "2024-11-30",
            "count": 1
          },
          {
            "date": "2024-12-02",
            "count": 1
          },
          {
            "date": "2024-12-03",
            "count": 1
          },
          {
            "date": "2024-12-17",
            "count": 1
          },
          {
            "date": "2024-12-27",
            "count": 1
          },
          {
            "date": "2025-01-05",
            "count": 1
          },
          {
            "date": "2025-01-11",
            "count": 1
          },
          {
            "date": "2025-01-29",
            "count": 2
          },
          {
            "date": "2025-02-03",
            "count": 1
          },
          {
            "date": "2025-02-08",
            "count": 1
          },
          {
            "date": "2025-02-20",
            "count": 1
          },
          {
            "date": "2025-02-26",
            "count": 1
          },
          {
            "date": "2025-03-11",
            "count": 1
          },
          {
            "date": "2025-03-27",
            "count": 1
          },
          {
            "date": "2025-03-29",
            "count": 1
          },
          {
            "date": "2025-04-06",
            "count": 1
          },
          {
            "date": "2025-04-09",
            "count": 1
          },
          {
            "date": "2025-04-11",
            "count": 1
          },
          {
            "date": "2025-04-12",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 1
          },
          {
            "date": "2025-04-16",
            "count": 1
          },
          {
            "date": "2025-04-23",
            "count": 1
          },
          {
            "date": "2025-04-26",
            "count": 1
          },
          {
            "date": "2025-05-14",
            "count": 1
          },
          {
            "date": "2025-05-15",
            "count": 1
          },
          {
            "date": "2025-05-16",
            "count": 1
          },
          {
            "date": "2025-05-31",
            "count": 3
          },
          {
            "date": "2025-06-01",
            "count": 1
          },
          {
            "date": "2025-06-02",
            "count": 2
          },
          {
            "date": "2025-06-03",
            "count": 1
          },
          {
            "date": "2025-06-04",
            "count": 1
          },
          {
            "date": "2025-06-05",
            "count": 1
          },
          {
            "date": "2025-06-15",
            "count": 1
          },
          {
            "date": "2025-06-26",
            "count": 1
          },
          {
            "date": "2025-07-14",
            "count": 1
          },
          {
            "date": "2025-07-26",
            "count": 1
          },
          {
            "date": "2025-07-27",
            "count": 1
          },
          {
            "date": "2025-08-01",
            "count": 1
          },
          {
            "date": "2025-08-12",
            "count": 1
          },
          {
            "date": "2025-08-30",
            "count": 1
          },
          {
            "date": "2025-09-13",
            "count": 1
          },
          {
            "date": "2025-09-23",
            "count": 1
          },
          {
            "date": "2025-10-17",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 1
          },
          {
            "date": "2025-12-05",
            "count": 1
          },
          {
            "date": "2025-12-13",
            "count": 1
          },
          {
            "date": "2025-12-16",
            "count": 1
          },
          {
            "date": "2026-01-08",
            "count": 3
          },
          {
            "date": "2026-01-09",
            "count": 4
          },
          {
            "date": "2026-01-20",
            "count": 1
          },
          {
            "date": "2026-01-21",
            "count": 1
          },
          {
            "date": "2026-03-25",
            "count": 1
          },
          {
            "date": "2026-03-26",
            "count": 1
          },
          {
            "date": "2026-06-03",
            "count": 1
          },
          {
            "date": "2026-06-13",
            "count": 2
          },
          {
            "date": "2026-07-07",
            "count": 1
          },
          {
            "date": "2026-07-10",
            "count": 1
          },
          {
            "date": "2026-07-14",
            "count": 1
          },
          {
            "date": "2026-07-17",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 522,
        "total_stars": 522
      },
      "open_issues_and_prs": 23
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile",
        "docs/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 65647,
      "source_files_sampled": 63,
      "oversized_source_files": 2,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "docs/requirements.txt",
        "pyproject.toml"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 9,
        "assessed_package": "pypi:skops@0.14.0",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "pypi"
      ],
      "dependencies": [
        {
          "name": "numpy",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.25.0"
        },
        {
          "name": "scipy",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.10.0"
        },
        {
          "name": "scikit-learn",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.2"
        },
        {
          "name": "prettytable",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.9"
        },
        {
          "name": "packaging",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=17.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "numpy",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "prettytable",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-learn",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "catboost",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "fairlearn",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "huggingface-hub",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "lightgbm",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "matplotlib",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "numpydoc",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-gallery",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-issues",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-prompt",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-rtd-theme",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "xgboost",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 19,
        "direct_count": 5,
        "indirect_count": 14
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 3,
        "merged_prs": 311,
        "open_issues": 20,
        "closed_ratio": 0.871,
        "closed_issues": 135,
        "closed_unmerged_prs": 55
      },
      "bus_factor": 2,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "adrinjalali",
          "commits": 113,
          "avatar_url": "https://avatars.githubusercontent.com/u/1663864?v=4"
        },
        {
          "type": "User",
          "login": "BenjaminBossan",
          "commits": 90,
          "avatar_url": "https://avatars.githubusercontent.com/u/6229650?v=4"
        },
        {
          "type": "User",
          "login": "merveenoyan",
          "commits": 18,
          "avatar_url": "https://avatars.githubusercontent.com/u/53175384?v=4"
        },
        {
          "type": "User",
          "login": "lazarust",
          "commits": 9,
          "avatar_url": "https://avatars.githubusercontent.com/u/46943923?v=4"
        },
        {
          "type": "User",
          "login": "EdAbati",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/29585319?v=4"
        },
        {
          "type": "User",
          "login": "E-Aho",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/46936677?v=4"
        },
        {
          "type": "User",
          "login": "divakaivan",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/54508530?v=4"
        },
        {
          "type": "User",
          "login": "omar-araboghli",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/29576434?v=4"
        },
        {
          "type": "User",
          "login": "reidjohnson",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/4712548?v=4"
        },
        {
          "type": "User",
          "login": "glemaitre",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/7454015?v=4"
        }
      ],
      "contributors_sampled": 22,
      "top_contributor_share": 0.431
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build-test.yml",
        "persistence-performance.yml",
        "publish-pypi.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": null,
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": true
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/skops-dev/skops",
    "host": "github.com",
    "name": "skops",
    "owner": "skops-dev"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 78,
      "inputs": {
        "security": 78,
        "vitality": 69,
        "community": 78,
        "governance": 71,
        "engineering": 95
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 69,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 69,
            "inputs": {
              "commits_last_year": 32,
              "human_commit_share": 0.63,
              "days_since_last_push": 1,
              "active_weeks_last_year": 18
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "18/52 weeks with commits",
                "points": 12.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 18
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "32 commits in the last year",
                "points": 13.6,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 32
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "releases_count": 14,
              "latest_release_tag": "v0.13.0",
              "releases_from_tags": false,
              "days_since_latest_release": 349,
              "mean_days_between_releases": 106.7
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "14 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 349 days ago",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 349
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~106.7 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 106.7
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": 28,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 28 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 28
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 78,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "forks": 64,
              "stars": 522,
              "watchers": 8,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "522 stars",
                "points": 44.1,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 522
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "64 forks",
                "points": 15,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 64
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "8 watchers",
                "points": 4.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "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 (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "packages": [
                "skops"
              ],
              "dependents": null,
              "ecosystems": "pypi",
              "total_downloads": null,
              "monthly_downloads": 18648984
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "18,648,984 downloads/month across pypi",
                "points": 80,
                "status": "met",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 18648984,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 71,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 57,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 22,
              "top_contributor_share": 0.431
            },
            "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 43% of commits",
                "points": 12.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 43
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "22 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 22
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 86,
            "inputs": {
              "merged_prs": 311,
              "open_issues": 20,
              "closed_issues": 135,
              "issue_closed_ratio": 0.871,
              "closed_unmerged_prs": 55
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "87% of issues closed",
                "points": 40.7,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 87
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "311/366 decided PRs merged",
                "points": 32.5,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 311,
                      "decided": 366
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "followers": 19,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "skops-dev",
              "public_repos": 1,
              "account_age_days": 1539
            },
            "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": "19 followers of skops-dev",
                "points": 9.4,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 19,
                      "login": "skops-dev"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "1 public repos, account ~4 yr old",
                "points": 10.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 1
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 4
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "skops"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 92
            },
            "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 92 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 92
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "16 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "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": 95,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "3 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "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": null,
                "points": 16,
                "status": "met",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 9.6,
                "status": "met",
                "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": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "huggingface",
                "machine-learning",
                "mlops",
                "scikit-learn",
                "hacktoberfest"
              ],
              "has_wiki": true,
              "homepage": "https://skops.readthedocs.io/en/stable/",
              "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://skops.readthedocs.io/en/stable/",
                "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": "5 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "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": "good",
        "name": "Security",
        "value": 78,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "good",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dependency lockfiles. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dependency_lockfiles"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 73,
            "inputs": {
              "source": "file_signals",
              "lockfiles": [],
              "manifests": [
                "docs/requirements.txt",
                "pyproject.toml"
              ],
              "has_codeql_workflow": false,
              "has_security_policy": true,
              "has_dependabot_config": true
            },
            "components": [
              {
                "key": "security_policy_security_md",
                "name": "Security policy (SECURITY.md)",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "dependabot_config",
                "name": "Dependabot config",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "dependency_lockfiles",
                "name": "Dependency lockfiles",
                "detail": "published library — lockfiles are an application concern, not expected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "lockfiles_not_expected",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "codeql_workflow",
                "name": "CodeQL workflow",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:skops@0.14.0 runtime dependency closure — what installing the published package pulls in — 9 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "pypi:skops@0.14.0",
                  "assessed": 9
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 9,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 9,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 13
            },
            "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": "moderate",
        "name": "AI Readiness",
        "value": 55,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.984,
              "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": "62 of 63 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 62,
                      "sampled": 63
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 72,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [
                "Makefile",
                "docs/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0.03,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.37
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile, docs/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile, docs/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": null,
                "points": 11,
                "status": "met",
                "details": [],
                "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": "3 of the last 100 commits agent-authored or agent-credited",
                "points": 6,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 3,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "37 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 37,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 53,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 65647,
              "source_files_sampled": 63,
              "oversized_source_files": 2
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "2/63 source files over 60KB",
                "points": 53.3,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 63,
                      "oversized": 2
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "OpenSSF Scorecard did not return a usable result (2026/07/21 20:19:05 Warning: PATs stored in env variables GITHUB_AUTH_TOKEN and GITHUB_TOKEN differ. Scorecard will use the former.); skipping Scorecard checks"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-21T20:19:31.239017Z",
  "schema_version": "0.23.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/skops-dev/skops.svg",
  "full_name": "skops-dev/skops",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

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