open-github-meta
收藏Hugging Face2026-03-29 更新2026-03-30 收录
下载链接:
https://huggingface.co/datasets/open-index/open-github-meta
下载链接
链接失效反馈官方服务:
资源简介:
OpenGitHub Meta 是一个包含3个公开GitHub仓库完整开发元数据的开源数据集,数据来源于GitHub REST API和GraphQL API,并以Parquet格式存储。数据集包含8个表,共计210万行数据,涵盖问题、拉取请求、评论、代码审查、时间线事件、文件变更和CI状态检查等信息。主要表格包括issues(问题与PR共享元数据)、pull_requests(PR特定字段)、comments(讨论评论)、review_comments(代码审查行内评论)、reviews(PR审查决定)、timeline_events(完整生命周期事件)、pr_files(PR变更文件)和commit_statuses(CI/CD状态检查)。数据集总大小为205.5MB(Zstd压缩),最后更新于2026-03-29。该数据集适用于代码审查研究、项目健康指标分析、问题分类和软件工程过程挖掘等场景。数据以标准Hugging Face Parquet布局存储,可直接与DuckDB、datasets、pandas和huggingface_hub等工具配合使用。数据集采用Open Data Commons Attribution License (ODC-By) v1.0许可。
创建时间:
2026-03-28
原始信息汇总
OpenGitHub Meta 数据集概述
数据集基本信息
- 数据集名称:OpenGitHub Meta
- 数据集地址:https://huggingface.co/datasets/open-index/open-github-meta
- 许可证:Open Data Commons Attribution License (ODC-By) v1.0
- 任务类别:特征提取
- 支持语言:英语、多语言
- 数据规模:1M < n < 10M
- 标签:github, metadata, issues, pull-requests, code-review, open-source, software-engineering
- 最后更新:2026-03-29 15:51 UTC
数据集内容与来源
该数据集包含从 GitHub REST API 和 GraphQL API 获取的 3 个公共 GitHub 仓库的完整开发元数据,已转换为 Parquet 格式以便于访问。
- 数据总量:2.1M 行,分布在 8 个表中,压缩后大小为 205.5 MB。
- 数据内容:包含每个问题、拉取请求、评论、代码审查、时间线事件、文件更改和 CI 状态检查,均存储在单独的表中。
- 配套数据集:OpenGitHub,该数据集通过 GH Archive 镜像实时 GitHub 事件流。
- 用途:代码审查研究、项目健康指标、问题分类与处理、软件工程过程挖掘。
包含的仓库
| 仓库 | 问题数 | 拉取请求数 | 评论数 | 审查数 | 时间线事件数 | 总计 | 最后更新 |
|---|---|---|---|---|---|---|---|
| facebook/react | 33.6K | 19.2K | 127.7K | 20.1K | 248.3K | 814.3K | 2026-03-29 12:10 UTC |
| golang/go | 75.7K | 4.9K | 535.3K | 323 | 240.0K | 928.0K | 2026-03-29 12:37 UTC |
| mdn/content | 41.5K | 31.5K | 105.2K | 18.1K | 10.0K | 355.7K | 2026-03-29 15:28 UTC |
数据集配置与结构
数据集包含以下 8 个配置(表),数据文件位于 data/{table}/{owner}/{repo}/0.parquet。
1. issues
包含问题和拉取请求的共享元数据。
- 关键列:
number,is_pull_request,title,body,state,author,created_at,labels,assignees,comment_count。
2. pull_requests
拉取请求的特定字段。
- 关键列:
number,merged,merged_at,additions,deletions,changed_files,draft。
3. comments
问题和拉取请求的对话评论。
- 关键列:
id,issue_number,author,body,created_at,author_association。
4. review_comments
拉取请求差异中的内联代码审查评论。
- 关键列:
id,pr_number,review_id,author,body,path,line,side。
5. reviews
拉取请求审查决策。
- 关键列:
id,pr_number,author,state,body,submitted_at。
6. timeline_events
每个问题和拉取请求的完整生命周期事件。
- 关键列:
id,issue_number,event_type,actor,created_at,label_name,assignee_login,data。
7. pr_files
每个拉取请求更改的文件及差异统计。
- 关键列:
pr_number,path,additions,deletions,status。
8. commit_statuses
每个提交的 CI/CD 状态检查结果。
- 关键列:
sha,context,state,description,target_url,created_at。
数据集统计
| 表 | 行数 | 描述 |
|---|---|---|
issues |
150.9K | 问题和拉取请求(共享元数据) |
pull_requests |
55.6K | 拉取请求特定字段 |
comments |
713.7K | 问题和拉取请求的对话评论 |
review_comments |
54.5K | 拉取请求差异中的内联代码审查评论 |
reviews |
38.6K | 拉取请求审查决策 |
timeline_events |
498.3K | 活动时间线 |
pr_files |
422.5K | 拉取请求中更改的文件 |
commit_statuses |
164.0K | 每个提交的 CI/CD 状态检查 |
| 总计 | 2.1M |
使用方式
使用 DuckDB
可直接从 Hugging Face 读取 Parquet 文件,无需下载。
- 示例查询:统计所有仓库中的顶级问题作者、按仓库统计拉取请求合并率、按提交次数统计审查最多的拉取请求、随时间变化的标签活动、按更改行数统计最大的拉取请求。
使用 Python
可通过 datasets 库流式加载或加载特定仓库,或使用 huggingface_hub 下载文件。
- 示例脚本:流式加载问题、加载特定仓库的拉取请求、仅下载问题数据文件。
构建方式与已知限制
构建方式
- 使用 GitHub REST API 进行批量列表获取,使用 GraphQL API 进行逐项细节获取。
- 使用多个 GitHub 个人访问令牌轮换以分散速率限制负载。
- 管道完全增量和幂等:重新运行仅获取自上次同步以来的更改。
- 数据首先存储在每仓库的 DuckDB 文件中,然后导出为 Zstd 压缩的 Parquet 格式发布。
已知限制
- 时间点快照:数据反映最后一次同步时的状态,非实时。
- 包含机器人活动:来自机器人的评论和拉取请求未被过滤。
- JSON 列:
labels、assignees、reactions和data列包含 JSON 字符串。 - 正文文本可能很大:问题和评论正文包含完整的 Markdown。
- 时间线数据因事件类型而异:
timeline_events表中的data字段包含原始事件负载。
个人信息与许可
- 包含用户名、用户 ID 和作者关联信息,所有数据已在 GitHub 上公开可访问。
- 数据集中不包含电子邮件地址。
- 采用 Open Data Commons Attribution License (ODC-By) v1.0 许可,原始数据受 GitHub 服务条款约束。
搜集汇总
数据集介绍

构建方式
在开源软件开发领域,项目协作过程产生的元数据对于理解开发动态具有重要价值。OpenGitHub Meta数据集通过精心设计的同步管道构建而成,该管道融合了GitHub REST API与GraphQL API的双重优势。REST API负责批量获取议题、评论等基础数据,采用基于时间戳的增量分页机制;GraphQL API则用于高效提取代码审查、时间线事件等精细化信息。数据采集过程采用多令牌轮换策略以分散速率限制压力,确保采集的完整性与效率。原始数据首先存储于DuckDB数据库,随后转换为经过Zstd压缩的Parquet格式,完整保留了包括机器人活动在内的所有原始记录,未进行任何过滤或去重处理,真实反映了仓库的实际运作状态。
特点
该数据集在软件工程研究领域展现出独特的结构特征,其核心在于对三个知名开源仓库(facebook/react、golang/go、mdn/content)的完整开发元数据进行深度归档。数据集以模块化表格形式组织,涵盖议题、拉取请求、评论、代码审查、时间线事件等八个独立但可关联的数据表,总计超过210万行数据。其设计巧妙地区分了通用元数据与特定场景数据,例如将议题与拉取请求的共享字段置于issues表,而将合并状态、代码变更统计等PR专属信息分离至pull_requests表。特别值得注意的是,timeline_events表通过结构化字段与原始JSON相结合的方式,完整记录了每个议题从创建到关闭的完整状态变迁轨迹,为软件过程挖掘提供了精细的时序数据基础。
使用方法
针对软件工程实证研究的需求,该数据集提供了灵活多样的访问范式。研究者可直接通过DuckDB的read_parquet函数进行分布式查询,无需预先下载完整数据集即可执行跨仓库的聚合分析,例如计算PR合并率或追踪标签使用趋势。对于Python生态用户,Hugging Face datasets库提供了流式加载接口,支持按需加载特定仓库或数据表,并可通过to_pandas方法转换为DataFrame进行本地分析。数据集采用标准的Parquet文件布局,数据文件路径遵循data/{表名}/{所有者}/{仓库名}/0.parquet的清晰结构,使得用户能够根据研究目标精确选择数据子集。这种设计既支持大规模跨仓库的计量研究,也适应针对单个项目的深度案例研究。
背景与挑战
背景概述
在软件工程与开源协作研究领域,对大规模开发过程数据的系统性分析一直是深化理解项目演化与团队动态的关键。OpenGitHub Meta数据集由Open-Index机构于2026年创建,旨在提供GitHub上特定开源仓库的完整开发元数据快照。该数据集聚焦于代码审查、议题追踪、拉取请求生命周期等核心研究问题,通过整合问题、评论、时间线事件等多维度表格,为软件工程过程挖掘、项目健康度评估及协作模式分析提供了结构化、可查询的高质量数据源。其覆盖了React、Go语言及MDN内容库等代表性项目,不仅推动了开源生态的实证研究,也为自动化工具开发与最佳实践总结奠定了数据基础。
当前挑战
OpenGitHub Meta数据集致力于解决软件工程领域中开源协作过程量化分析的挑战,其核心在于如何从海量、异构的GitHub活动数据中提取可计算、可关联的开发过程特征。具体挑战包括:在领域层面,需建模代码审查效率、议题分类准确性及项目状态转换的复杂性;在构建层面,则面临GitHub API速率限制下的高效增量同步、跨API(REST与GraphQL)的数据融合一致性保障,以及原始JSON字段(如标签、反应数据)的规范化处理。此外,数据集还需平衡数据完整性(包括机器人活动)与研究可用性,并确保大规模Parquet存储下的查询性能与内存效率。
常用场景
经典使用场景
在开源软件工程领域,OpenGitHub Meta数据集为代码审查研究提供了丰富的实证基础。研究者利用其内联代码审查评论、拉取请求状态及时间线事件等结构化数据,深入分析代码审查过程中的协作模式、审查效率与质量。通过关联审查评论与具体代码行,能够揭示审查意见的分布特征及其对代码修改的影响,从而推动自动化代码审查工具的开发与优化。
衍生相关工作
围绕该数据集,已衍生出多项经典研究工作,特别是在软件仓库挖掘与过程挖掘领域。例如,基于其完整的审查对话与时间线序列,研究者开发了预测拉取请求合并结果的模型,以及分析开发者社交网络与知识传播的图神经网络方法。这些工作深化了对开源协作模式的理解,并为构建下一代智能软件开发平台奠定了理论基础。
数据集最近研究
最新研究方向
在开源软件工程领域,OpenGitHub Meta数据集正推动着代码审查智能化的前沿探索。研究者们利用其精细的代码审查评论和时序事件数据,构建能够理解代码变更意图、自动生成审查建议的深度学习模型。这一方向与大型语言模型在软件工程中的应用热潮紧密结合,旨在通过分析海量真实审查对话,提炼出高效的协作模式与质量评估标准。数据集所提供的完整PR生命周期记录,使得研究能够超越简单的代码差异分析,深入探究审查过程中的社会技术因素,例如贡献者声誉、团队动态对合并决策的影响。这些研究不仅为自动化代码审查工具提供了坚实的训练基础,也为理解开源社区的健康度与可持续性贡献了新的度量维度。
以上内容由遇见数据集搜集并总结生成



