version-control/ds-lib-version-3
收藏Hugging Face2024-01-08 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/version-control/ds-lib-version-3
下载链接
链接失效反馈官方服务:
资源简介:
该数据集包含多个Python项目的依赖信息,主要特征包括项目名称(repo_name)、版本信息(version)和提交哈希(hexsha)。版本信息中详细列出了pyproject.toml、requirements.txt和setup.py文件中使用的常用Python库,如matplotlib、numpy、pandas等。数据集包含一个train分割,共有10000个例子,总大小为2506652字节。
该数据集包含多个Python项目的依赖信息,主要特征包括项目名称(repo_name)、版本信息(version)和提交哈希(hexsha)。版本信息中详细列出了pyproject.toml、requirements.txt和setup.py文件中使用的常用Python库,如matplotlib、numpy、pandas等。数据集包含一个train分割,共有10000个例子,总大小为2506652字节。
提供机构:
version-control原始信息汇总
数据集信息
特征
- repo_name: 类型为字符串。
- version: 包含以下列表:
- pyproject.toml: 包含以下结构:
- matplotlib: 类型为字符串。
- numpy: 类型为字符串。
- pandas: 类型为字符串。
- scikit-learn: 类型为字符串。
- scipy: 类型为字符串。
- tensorflow: 类型为字符串。
- torch: 类型为字符串。
- requirements.txt: 包含以下结构:
- matplotlib: 类型为字符串。
- numpy: 类型为字符串。
- pandas: 类型为字符串。
- scikit-learn: 类型为字符串。
- scipy: 类型为字符串。
- tensorflow: 类型为字符串。
- torch: 类型为字符串。
- setup.py: 包含以下结构:
- matplotlib: 类型为字符串。
- numpy: 类型为字符串。
- pandas: 类型为字符串。
- scikit-learn: 类型为字符串。
- scipy: 类型为字符串。
- tensorflow: 类型为字符串。
- torch: 类型为字符串。
- pyproject.toml: 包含以下结构:
- hexsha: 类型为字符串序列。
数据分割
- train: 包含10000个样本,总字节数为2506652。
数据集大小
- 下载大小: 824580字节。
- 数据集大小: 2506652字节。
配置
- default: 包含以下数据文件:
- train: 路径为
data/train-*。
- train: 路径为
搜集汇总
数据集介绍

构建方式
在软件工程与机器学习交叉领域,依赖库版本管理是保障项目可复现性的核心环节。version-control/ds-lib-version-3数据集以开源仓库的版本控制元数据为根基,通过系统化采集与结构化整理而成。其构建过程聚焦于从pyproject.toml、requirements.txt及setup.py三种主流配置文件出发,精准提取matplotlib、numpy、pandas、scikit-learn、scipy、tensorflow与torch这七类关键科学计算与深度学习库的版本信息。每条记录关联唯一仓库名称及对应提交的十六进制哈希值(hexsha),从而将版本快照与代码变更历史紧密耦合,形成兼具广度与精度的版本依赖知识库。
特点
该数据集的核心特质在于其多维度的语义对齐与细粒度版本追踪能力。一方面,它跨配置文件类型统一呈现同一仓库内不同依赖声明方式下的版本差异,为分析配置碎片化现象提供了量化基础;另一方面,通过关联hexsha序列,数据能够精确映射至特定代码提交时刻的依赖状态,支持时序维度的版本演化研究。此外,数据集聚焦于数据科学与深度学习生态中高频使用的库,确保了在模型训练环境重建、依赖冲突检测及可复现性验证等场景中的实用价值,其10,000条训练样本的规模也兼顾了统计显著性与计算效率。
使用方法
用户可通过HuggingFace Datasets库便捷加载该数据集,指定配置名为default并调用load_dataset函数即可获取训练集。加载后,每条样本包含repo_name、version字段(内嵌三个配置文件的库版本结构)及hexsha列表。在应用层面,研究者可将其用于训练版本推荐模型,通过分析仓库名与hexsha序列,预测特定项目在给定时间点应采纳的依赖版本组合。亦可将其转化为图结构数据,以仓库与版本为节点,构建依赖关系图谱,服务于包管理系统的智能升级建议或版本兼容性分析。数据以Parquet格式存储,支持高效的列式访问与分布式处理。
背景与挑战
背景概述
在软件工程与机器学习交叉领域,依赖管理是保障项目可复现性与稳定性的核心环节。version-control/ds-lib-version-3数据集由版本控制研究团队于近期构建,聚焦于开源项目中的库版本依赖关系。该数据集收录了10,000个训练样本,每个样本包含仓库名称、多个配置文件(如pyproject.toml、requirements.txt、setup.py)中针对matplotlib、numpy、pandas等七大主流科学计算与深度学习库的版本声明,以及对应的提交哈希值。其核心研究问题在于如何通过历史版本依赖模式,预测或推荐兼容的库版本组合,从而缓解因版本冲突导致的构建失败问题。该数据集为依赖解析、版本兼容性预测等任务提供了标准化基准,推动了软件供应链安全与自动化运维领域的发展。
当前挑战
当前数据集面临多重挑战。首先,在领域问题层面,依赖版本间的隐式兼容性约束难以被传统规则模型捕获,例如不同库的版本更新可能引入破坏性API变更,而数据集仅记录版本号,缺乏对实际兼容性语义的显式标注,这给基于学习的预测模型带来了特征稀疏与标签噪声的难题。其次,在构建过程中,从GitHub等平台上爬取并解析pyproject.toml等多种格式的配置文件时,存在非标准语法、缺失字段或版本范围模糊(如>=1.0,<2.0)等结构化歧义,导致数据清洗与归一化工作极具挑战。此外,版本发布时间与仓库活跃度的差异,使得训练集可能存在时间偏差,影响模型对未来版本依赖关系的泛化能力。
常用场景
经典使用场景
在软件工程与数据科学交叉领域,版本控制与依赖管理是保障项目可复现性与稳定性的基石。该数据集以开源仓库中常见的依赖配置文件(如pyproject.toml、requirements.txt、setup.py)为核心,记录了Matplotlib、NumPy、Pandas等主流Python库的版本演化轨迹。其最经典的使用场景在于构建依赖版本演化图谱,通过分析同一仓库在不同提交中依赖库版本的变化规律,揭示版本冲突的常见模式与升级路径。研究者可借此探索版本兼容性约束、库间依赖网络拓扑结构,以及版本漂移对代码运行结果的影响,为自动化依赖管理工具的设计提供数据支撑。
衍生相关工作
基于该数据集,已衍生出多项推动软件工程研究的前沿工作。在依赖管理领域,研究者开发了版本兼容性推断模型,通过对比同一仓库在不同时间点的依赖声明,自动学习库间版本约束规则,并生成兼容性矩阵以辅助依赖解析器决策。在代码可复现性方向,相关工作利用该数据集训练版本回退预测器,识别因依赖升级导致的行为不一致性,进而提出自动化回归测试策略。此外,部分工作聚焦于版本语义聚类,通过分析版本号变更模式与依赖网络中心性指标,构建了面向开源社区的依赖健康度评估框架,显著提升了大规模依赖分析的可解释性与实用性。
数据集最近研究
最新研究方向
在软件工程与机器学习交叉领域,版本控制与依赖管理成为可复现性研究的核心议题。version-control/ds-lib-version-3数据集聚焦于开源仓库中关键科学计算库(如PyTorch、TensorFlow、scikit-learn)的版本演化记录,为理解依赖冲突、环境迁移及模型可复现性提供了大规模实证基础。当前前沿研究方向包括利用该数据集训练版本感知的依赖预测模型,以自动化检测不兼容的库组合;同时,结合大语言模型进行依赖推荐与修复,成为提升开发效率的热点。该数据集的推出填补了结构化版本依赖数据的空白,对推动可复现机器学习流水线、构建稳健的持续集成系统具有深远意义。
以上内容由遇见数据集搜集并总结生成



