- 文档
- 知识库
- 机器学习
【免费下载链接】best-of-ml-python
🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.
本篇文章聚焦当前仓库中的周度变更快照 history/2021-11-17_changes.md,逐项拆解本次更新中Trending Up(10 个上升项目)、Trending Down(10 个下降项目)与 Added Projects(2 个新增项目)的完整名单、评分分层与数据口径。读完本文,你将掌握该榜单 project-quality score 的构成逻辑、📈/📉/💀/➕ 各标记的语义,以及如何结合 projects.yaml、README.md 与相邻周报快照进行趋势对比与项目评估。
一、周报快照的定位与读取方法
history/目录存放着本仓库每周一次的变更快照,文件按YYYY-MM-DD_changes.md与YYYY-MM-DD_projects.csv成对组织。本次解读对象history/2021-11-17_changes.md是 2021-11-17 这一期的“变更摘要”:它不是完整 920 项目大榜单,而是聚焦于与上一期相比发生显著变化的项目,因此最适合用来快速回答三个问题:
- 哪些项目的综合质量分(project-quality score)相比上期上升了?
- 哪些项目下降了?
- 有哪些项目是本期首次进入榜单?
同一日期的 history/2021-11-17_projects.csv 则提供了当期全量项目的明细字段(GitHub star 数、fork 数、issue 数、提交数、PyPI/conda/Docker 下载量、最新发版时间等),可用于交叉验证趋势条目背后的具体指标。通过将相邻两周的changes.md与projects.csv进行纵向对比,就能复现趋势判断所依据的原始数据。
从格式稳定性上看,本快照结构与相邻周报(例如 history/2021-12-02_changes.md)完全一致:均以## 📈 Trending Up、## 📉 Trending Down、## ➕ Added Projects三个小节组织,条目统一为「名称 + 评分分层(🥇🥈🥉)+ ⭐ star 数 + 趋势标记 + 一句话描述 + 许可证徽标」的紧凑行格式。这种统一格式保证了历史快照之间可机械对比、可追溯。
二、核心概念:project-quality score 与标记语义
在逐条解读之前,先明确榜单的评分与标记体系。仓库主文档 README.md 明确指出:
All projects are ranked by a project-quality score, which is calculated based on various metrics automatically collected from GitHub and different package managers.
即project-quality score 是一个综合质量分,由自动化采集的 GitHub 指标(star、fork、issue、提交活动等)与包管理器指标(PyPI/conda/Docker 的下载量、发版时间、被依赖项目数等)加权计算而来,而不是单一的 star 数排序。这也是为什么快照中会出现「⭐ 5K 但只排 🥇29」与「⭐ 15K 却 📉」同时存在的现象——榜单看的是综合分变化,不是 star 绝对值。
榜单中各图标的官方语义可从 README.md 的 Explanation 一节确认:
| 标记 | 含义 |
|---|---|
| 🥇🥈🥉 | Combined project-quality score(综合质量分分层,🥇最高) |
| ⭐️ | Star count from GitHub |
| 🐣 | New project(创建不足 6 个月) |
| 💤 | Inactive project(6 个月无活动) |
| 💀 | Dead project(12 个月无活动) |
| 📈📉 | Project is trending up or down(综合分较上期上升/下降) |
| ➕ | Project was recently added(本期新增入榜) |
| ❗️ | Warning(例如许可证缺失或有风险) |
| 👨💻 / 🔀 / 📋 / ⏱️ / 📥 / 📦 | 贡献者数 / fork 数 / issue 数 / 包管理器更新时间 / 下载量 / 被依赖项目数 |
此外,快照行内还会出现框架徽标图片(如 TensorFlow、scikit-learn、PyTorch、MXNet、Spark、Jupyter、PaddlePaddle、pandas 等),用于标注项目与哪个主流生态强相关。在 2021-11-17 的快照中,你可以在 Trending 名单里看到category_encoders(sklearn 徽标)、accelerate与CausalNex(PyTorch 徽标)等示例。
三、📈 Trending Up:本期综合分上升的 10 个项目
本小节对应快照原文的 “Projects that have a higher project-quality score compared to the last update” 部分,完整保留全部 10 个条目。上升的可能原因原文即已说明:下载量上升或代码活动增多(increased downloads or code activity)。
| 项目 | 评分分层 | ⭐ Star | 一句话定位 | 许可证 |
|---|---|---|---|---|
| PyOD | 🥇31 | 5K | 可扩展的异常/离群点检测 Python 工具箱 | BSD-2 |
| einops | 🥈30 | 3.9K | 为 PyTorch/TensorFlow/JAX 等重新设计的深度学习张量运算 | MIT |
| category_encoders | 🥈30 | 1.8K | sklearn 兼容的分类变量编码库 | BSD-3 |
| Milvus | 🥇29 | 8.8K | 用于 embedding 相似度检索的开源向量数据库 | Apache-2 |
| Cython BLIS | 🥇29 | 180 | 自包含、无系统依赖的快速矩阵乘法 Python 库 | BSD-3 |
| Core ML Tools | 🥇27 | 2.4K | Core ML 模型的转换、编辑与校验工具集 | BSD-3 |
| accelerate | 🥇25 | 2K | 简化 PyTorch 多 GPU/TPU 训练与使用的轻量封装 | Apache-2 |
| CausalNex | 🥈24 | 1.4K | 帮助数据科学家推断因果关系的 Python 库 | Apache-2 |
| iterative-stratification | 🥉22 | 610 | 面向多标签数据的迭代分层交叉验证器 | BSD-3 |
| aim | 🥉20 | 1.7K | 易用高性能的开源实验追踪器 | Apache-2 |
几条值得注意的观察点,可与同目录 CSV 明细相互印证:
- 榜首 PyOD 以 🥇31 领跑:它是上期以来综合分上升最明显的项目。异常检测(Anomaly Detection)工具在这一时期处于活跃期,其 5K star 与持续的版本发布(CSV 中可见 2021-10-27 发布 0.9.5)共同推动了综合分上升。
- einops 与 category_encoders 并列 🥈30:前者是深度学习社区流行的张量重排语法糖(一行代码替代大量 reshape/transpose),后者则填补了 sklearn 在类别特征编码上的空白,两者在本期属于“下载量/代码活动双升”的典型。
- Milvus 的 star 数(8.8K)与评分(🥇29)并不匹配最高分:这恰好印证了前面提到的「综合分 ≠ star 绝对值」——大 star 项目只有在包下载、发版节奏、issue 处理等维度同时健康时,综合分才会排在最高层。
- 标记组合里,
accelerate与CausalNex同时带 PyTorch 徽标,说明它们与 PyTorch 生态强绑定,适合 PyTorch 用户优先关注。
四、📉 Trending Down:本期综合分下降的 10 个项目
对应快照原文 “Projects that have a lower project-quality score compared to the last update” 部分,下降的可能原因原文同样给出:下载量或代码活动下降(decreased downloads or code activity)。
| 项目 | 评分分层 | ⭐ Star | 一句话定位 | 许可证 |
|---|---|---|---|---|
| Matplotlib | 🥇38 | 15K | matplotlib:Python 绘图 | Python-2.0 |
| Pillow | 🥇35 | 9.1K | 友好的 PIL 分支(Python 图像库) | ❗️PIL |
| DVC | 🥇30 | 8.9K | 数据版本控制:Git for Data & Models、ML 实验管理 | Apache-2 |
| folium | 🥈29 | 5.5K | Python 数据 + Leaflet.js 地图 | MIT |
| wandb client | 🥈29 | 3.5K | 机器学习实验可视化与追踪工具(CLI + Python API) | MIT |
| fairseq | 🥈27 | 15K | Facebook AI Research 的序列到序列工具包 | MIT |
| Sonnet | 🥉27 | 9.1K | 基于 TensorFlow 的神经网络库 | Apache-2 |
| detectron2 | 🥈26 | 19K | FAIR 下一代目标检测/分割平台 | Apache-2 |
| neon | 🥉19 | 3.9K | Intel Nervana 参考深度学习框架(已标记 💀) | Apache-2 |
| Feature Engine | 🥉16 | 5 | 具备 sklearn 风格的功能的特征工程包 | BSD-3 |
本组解读要点:
- 下降 ≠ 不优秀:Matplotlib(🥇38)和 Pillow(🥇35)依然是全榜综合分最高的项目之一,本期下降只是相对上一期的相对波动,并不代表其质量滑坡。快照行内 star 数(15K / 9.1K)依旧是顶级水平。
- 💀 标记与下降叠加:
neon行内同时出现 📉 与 💀(12 个月无活动),说明该项目已进入“死亡/停更”判定,综合分随之下滑是自然结果。同样地,相邻周报中也能看到NearPy等以 💀 标记出现在下降名单。 - 许可证风险标记 ❗️:Pillow 的许可证显示为
❗️PIL(非标准 OSI 许可),这正是 README 中「❗️ Warning(e.g. missing/risky license)」语义的实例,在选型做合规评估时应额外留意。 - 高 star 大项目也在下降名单:detectron2(19K)、fairseq(15K)说明即便是热门研究框架,若当期代码提交或包管理指标放缓,同样会进入 📉,进一步印证趋势判断基于综合指标而非单一 star。
五、➕ Added Projects:本期新入榜的 2 个项目
对应快照原文 “Projects that were recently added to this best-of list” 部分,完整保留两个新增条目:
| 项目 | 评分分层 | ⭐ Star | 一句话定位 | 许可证 |
|---|---|---|---|---|
| TSFEL | 🥉20 | 310 | 直观的时间序列特征提取库 | BSD-3 |
| whylogs | 🥉18 | 610 | 端到端数据与 ML 监控的开源标准,可任意规模、任意基础设施部署 | Apache-2 |
新增项目意味着它们通过了本仓库的入榜门槛。在 projects.yaml 的configuration中可以看到当前榜单的硬性过滤条件,正是这两者能够“入榜”的依据:
configuration: min_stars: 300 require_github: True max_trending_projects: 10 allowed_licenses: [ "Unlicense", "Apache-2.0", "MIT", "BSD-3-Clause", "BSD-2-Clause", "ISC", "MPL-2.0", "LGPL-2.1" ] markdown_header_file: "config/header.md" markdown_footer_file: "config/footer.md" projects_history_folder: "history"- TSFEL(310 ⭐)与 whylogs(610 ⭐)均满足
min_stars: 300的底线; - 两者许可证分别为 BSD-3-Clause 与 Apache-2.0,均位于
allowed_licenses白名单内; - 新增项目在 CSV 明细中
new_addition字段被标记为True(见 history/2021-11-17_projects.csv 中 TSFEL 与 whylogs 两行),可用于程序化筛选本期新增。
六、趋势机制与数据来源说明
本仓库作为 best-of 系列榜单,其数据采集与 Markdown 生成由外部最佳实践工具链支撑(详见 CONTRIBUTING.md 中关于 metadata collection 与 markdown generation 的说明)。从仓库自身文件可以确认的机制包括:
- 榜单过滤:由
projects.yaml的configuration控制,包括最低 star 数、是否要求 GitHub 仓库、许可证白名单、单期最多展示的 trending 项目数(max_trending_projects: 10),以及历史快照存放目录projects_history_folder: "history"。 - 分类体系:
projects.yaml的categories定义了从ml-frameworks、data-viz、nlp、image到nn-search、probabilistics、gpu-utilities等 30+ 分类及其子标题。Trending 名单中的 PyOD、Milvus、einops 等分属others、nn-search、ml-frameworks等不同类别,说明趋势变化是跨全类别扫描得到的,而非局限于某一领域。 - 页面模板:config/header.md 与 config/footer.md 定义了榜单页首尾模板(其中使用
{project_count}、{stars_count}、{category_count}等占位符),说明changes.md快照与 README 主榜单一样,都是由元数据自动渲染生成的,人工不直接维护 Markdown。 - 贡献入口:若要为榜单添加或更新项目,不应直接改 README,而应修改 projects.yaml(新增示例格式见 CONTRIBUTING.md),或通过 issue / PR 提交,随后由生成流程产出新的快照与榜单。
七、如何把这份周报用起来
基于以上解读,可以把history/2021-11-17_changes.md当作一个实用的“选型与监控”工具,给出三条可直接执行的使用方式:
- 纵向对比相邻快照:将 history/2021-11-17_changes.md 与上一期(2021-11-09 或更早)和下一期(如 history/2021-12-02_changes.md)对比,观察同一项目是否连续多期出现在 📈 或 📉 名单。连续上升通常代表项目处于良性增长期;连续下降或出现 💀 标记则提示应评估其维护健康度。
- 交叉核对 CSV 明细:对某个趋势条目感兴趣时,在同目录
2021-11-17_projects.csv中按github_id或name检索,可进一步核对 star/fork/issue/下载量/最近发版等原始指标,判断趋势是来自 GitHub 活动还是包分发层面。 - 结合配置理解榜单口径:阅读 projects.yaml 的
configuration与 README.md 的 Explanation,可以明确榜单入榜门槛、许可证合规要求与各图标的准确含义,避免把「综合分趋势」误读为「star 排名」。
说明:本文所述评分与标记语义、配置项、文件路径均以当前仓库实际内容为准;各项目的具体指标为 2021-11-17 时间点的历史快照数据,后续周报可能发生变化。
- 文档
- 知识库
- 机器学习
【免费下载链接】best-of-ml-python
🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.
相关推荐
解读 best-of-ml-python 2022-07-07 期趋势报告:ML Python 库质量评分涨跌全解析
解读 best of ml python 2022 07 07 期趋势报告:ML Python 库质量评分涨跌全解析 本篇指南围绕 best of ml pyt
文档知识库机器学习解读 best-of-ml-python 周报:2021-03-11 趋势快照与项目质量评分机制
解读 best of ml python 周报:2021 03 11 趋势快照与项目质量评分机制 best of ml python 是一个按"项目质量评分"(
文档知识库机器学习best-of-ml-python 周报解析:2021-02-18 机器学习 Python 库排名趋势与新增项目全景解读
best of ml python 周报解析:2021 02 18 机器学习 Python 库排名趋势与新增项目全景解读 best of ml python 是
文档知识库机器学习
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考