🗺️PyTorch 生态候选分析策略与路线图
PyTorch 生态候选分析策略与路线图
目标:从 13475 个 PyTorch 下游包中识别高价值候选
一、数据现状
已有数据
| 数据集 | 说明 | 记录数 |
|---|---|---|
versioned_sc.json | PyTorch 各版本的 downstream 分层依赖图 | 按版本分层 |
latest_downstream_githubs.jsonl | 从 PyPI 解析出的 GitHub 候选 | 13475 |
latest_downstream_githubs.csv | 同上 CSV 格式 | 13475 |
latest_downstream_dropped.jsonl | 无法解析 GitHub 的包 | 5715 |
正在采集(进行中 ~10%)
| 字段 | 说明 |
|---|---|
github_stars | GitHub 仓库 star 数 |
repository_dependents | 多少 GitHub 仓库依赖此包 |
package_dependents | 多少 PyPI 包依赖此包 |
完成后可获得
完整版 latest_downstream_with_dependents.jsonl,包含:
- 基础信息:package name, pypi_name, github_url, summary, license
- 活跃度:github_stars, repository_dependents, package_dependents
- 分层信息:来自 versioned_sc.json 的 layer 字段
二、分析维度
1. 核心指标:Stars vs Dependents 交叉分析
核心洞察:Dependents 显著高于同等 Stars 水平的包,可能是隐藏关键节点。
计算公式:
影响力系数 = (repository_dependents + package_dependents) / log(stars + 1)
高影响力系数的包即使 Stars 不高,也可能是生态里的基础设施。
2. 分层分析(Layer Distribution)
来自 versioned_sc.json 的 layer 信息:
- Layer 1:torch 本身
- Layer 2:直接依赖 torch 的包
- Layer 3+:间接依赖
不同 layer 的候选有不同的分析价值。
3. 许可证筛选
重点关注 permissive 许可证:
- MIT
- Apache 2.0
- BSD-3-Clause
- ISC
排除:GPL(可能导致开源污染)、Proprietary、Unknown
4. 供应链风险指标
| 风险因子 | 检测方式 |
|---|---|
| 仓库废弃 | 2 年内无 commit、无 release |
| 依赖链断裂 | dependents > 0 但 stars = 0 |
| 许可证缺失 | license = "" 或 unknown |
| 高依赖低维护 | dependents 极高但无 maintainer |
5. 价值候选排序
多维度加权排序:
Score = w1 * log(stars) + w2 * log(repo_dep + 1) + w3 * log(pkg_dep + 1) - penalty(风险因子)
三、输出产物
3.1 数据集
pytorch-ecosystem-candidates-full.jsonl- 完整清洗后数据pytorch-ecosystem-candidates-high-value.csv- 高价值候选 TOP 500pytorch-ecosystem-candidates-by-layer/- 按 layer 分组的候选
3.2 分析报告
analysis-by-stars-dependents.md- Stars/Dependents 交叉分析analysis-by-layer.md- 分层分布分析analysis-supply-chain-risks.md- 风险评估
3.3 代码工具
待实现(基于本报告):
analyze_candidates.py- 通用分析脚本filter_candidates.py- 多维度筛选过滤rank_candidates.py- 加权排序export_reports.py- 导出各类报告
四、后续步骤
- 等待 candidate_dependents 采集完成(预计 ~13 小时)
- 合并 layer 信息(从 versioned_sc.json 关联)
- 执行多维度分析
- 生成高价值候选清单
- 针对性调研 TOP 候选
五、当前数据样本(~10%)
| 包名 | Stars | Repo Dependents | 包 Dependents | 状态 |
|---|---|---|---|---|
| airllm | 13777 | 37 | 3 | 高星低依赖 |
| aix360 | 1767 | 164 | 6 | 高影响力 |
| aitviewer | 720 | 42 | 0 | 潜力股 |
| aimet-onnx | 2564 | 4 | 0 | 独立工具 |
| aimini | - | - | - | 待采集 |
六、总结
本项目旨在构建一套 可复现的 PyTorch 生态候选评估流程:
- 数据采集 → 清洗 → 分析 → 排序 → 报告
- 每一步都可断点续跑、可配置
- 最终产出高价值开源候选清单,供后续研究使用
本文档将随数据采集进度持续更新