遇见数据集

open-npm

收藏
Hugging Face2026-04-11 更新2026-04-12 收录
官方服务:

资源简介:

npm Registry - Complete Package Archive 是一个全面的 npm 注册表快照数据集,包含 Node.js 默认包管理器(全球最大的软件包注册中心)的完整镜像。该数据集目前包含 763,956 个软件包、21,903,256 个发布版本和 232,552 个独立维护者,涵盖核心元数据、所有历史版本、维护者列表、关键词标签、依赖关系图和下载统计等完整信息。数据集按 8 个表组织(packages、versions、maintainers、keywords、dependencies、downloads、download_days、version_downloads),采用 Parquet 格式存储并经过 Zstandard 压缩。主要应用场景包括 JavaScript 生态系统分析、依赖图研究、流行度分析、许可证合规审计和软件工程研究等。数据集目前处于持续爬取状态(已完成约 29.3%),包含丰富的生态系统指标如 ESM 模块采用率(26.3%)、TypeScript 声明文件覆盖率(47.7%)和 README 文件覆盖率(87.8%)。

The npm Registry - Complete Package Archive is a comprehensive snapshot dataset of the npm registry, featuring a full mirror of the default package manager for Node.js (the world's largest software package registry). This dataset currently contains 763,956 packages, 21,903,256 released versions, and 232,552 independent maintainers, covering complete information such as core metadata, all historical versions, maintainer lists, keyword tags, dependency graphs and download statistics. The dataset is organized into 8 tables: packages, versions, maintainers, keywords, dependencies, downloads, download_days and version_downloads, stored in Parquet format and compressed with Zstandard. Its main application scenarios include JavaScript ecosystem analysis, dependency graph research, popularity analysis, license compliance auditing and software engineering research. The dataset is currently undergoing continuous crawling with approximately 29.3% completion, and includes rich ecosystem metrics such as ESM module adoption rate (26.3%), TypeScript declaration file coverage (47.7%) and README file coverage (87.8%).

创建时间:
2026-04-11
搜集汇总
数据集介绍
open-npm 数据集图片
构建方式
在JavaScript生态系统的研究领域,数据采集常面临API分散与格式不一的挑战。该数据集通过系统化爬取npm官方注册表,整合了原本分散于四个独立API(注册表、复制、下载、搜索)的完整元数据。采用增量抓取策略,以每秒约35个包的速度持续进行,并将所有数据统一组织为八个关系表,存储为经过Zstandard压缩的Parquet分片格式,确保了数据的高效查询与可扩展性。
使用方法
研究者可通过多种技术路径利用此数据集进行高效分析。借助DuckDB可直接远程查询Parquet文件,无需预先下载,便于执行复杂的连接与聚合操作,例如分析许可证分布或识别最受欢迎的依赖项。同时,利用Hugging Face的`datasets`库可实现流式加载,有效管理海量数据。数据集支持按表选择性下载,用户可根据研究焦点,灵活获取包、版本或依赖关系等特定子集,从而开展生态系统分析、供应链研究或软件工程实证工作。
背景与挑战
背景概述
open-npm数据集由open-index团队构建,旨在为JavaScript与TypeScript生态系统提供全面、结构化的npm注册表快照。作为全球最大的软件包注册中心,npm承载着数百万个开源包,每周处理数十亿次下载,是现代Web开发的核心基础设施。该数据集整合了包的核心元数据、历史版本、维护者关系、关键词标签、依赖图及下载统计等多维度信息,解决了研究人员以往需从多个独立API中爬取数据的繁琐问题,为软件工程、供应链安全及生态系统分析等领域提供了统一且可扩展的数据基础。
当前挑战
该数据集致力于解决软件包生态系统分析的复杂性问题,其核心挑战在于如何高效整合npm分散的四个独立API数据,这些API具有不同的速率限制、分页机制与响应格式,导致大规模分析面临数据获取与处理的障碍。在构建过程中,数据集需应对海量数据的持续爬取与更新,当前仅完成约29.3%的包爬取,预计至2026年方能覆盖全部已知包,同时需确保数据一致性、压缩存储与查询效率,以支持依赖图分析、许可证合规性检查及流行度趋势研究等高级应用。
常用场景
经典使用场景
在软件工程与生态系统分析领域,open-npm数据集为研究者提供了全面剖析npm注册表结构的宝贵资源。其经典使用场景集中于依赖图分析与供应链研究,通过整合包元数据、版本历史及依赖关系,支持大规模图遍历与网络建模。例如,学者可追踪特定漏洞在依赖网络中的传播路径,或识别生态系统中关键枢纽包,从而深入理解模块化软件项目的复杂互联特性。
解决学术问题
该数据集有效解决了软件供应链安全、开源生态演化及软件工程实践中的若干核心学术问题。通过提供统一的、可查询的完整注册表快照,它使得依赖冲突解析、许可证合规性审计及包流行度动力学建模成为可能。其意义在于消除了分散API访问的技术壁垒,为量化研究JavaScript生态系统的健康度、维护模式及技术采纳趋势奠定了数据基础。
实际应用
在实际应用层面,open-npm数据集支撑了企业级软件供应链风险管理工具的开发。安全团队可利用其依赖关系数据构建软件物料清单,自动化检测许可证违规或已知漏洞。此外,包维护者与开发者能够基于下载统计与质量评分优化发布策略,而平台方则可借助关键词与元数据增强包发现与推荐系统的精准度,从而提升整个开源生态的运作效率。
数据集最近研究
最新研究方向
在软件供应链安全日益受到关注的背景下,open-npm数据集为JavaScript生态系统的深度分析提供了前所未有的全面视角。当前研究前沿聚焦于利用该数据集进行依赖网络的可视化与脆弱性传播建模,特别是在Log4j等重大安全事件后,学术界和工业界正积极探索基于大规模依赖图的自动化风险评估工具。同时,随着AI辅助编程工具的兴起,该数据集也被用于训练代码生成模型,以理解包之间的语义关联和流行度模式。这些研究不仅揭示了开源生态系统的结构动态,还为软件维护、许可证合规及生态健康监测提供了数据驱动的决策支持。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务