Python 包索引(PyPI)的实证分析
软件工程
2019-07-29 v2 计算机与社会
物理与社会
摘要
在本研究中,我们提供了 Python 包仓库 PyPI 的综合实证总结,涵盖 178,592 个包、1,745,744 个发布版本、76,997 名贡献者以及 156,816,750 条 import 语句的包元数据与源代码。我们给出了包、发布版本、依赖、类别分类、许可证和包导入以及作者、维护者与组织的计数与趋势。作为截至发表时最大且最古老的软件仓库之一,PyPI 不仅提供了对当今 Python 生态系统的洞察,也提供了更广义上软件开发与许可随时间变化的趋势。在 PyPI 中,我们发现仓库增长在所有度量下都很稳健,过去 15 年活跃包的复合年增长率为 47%,新作者为 39%,新 import 语句为 61%。与许多类似社会系统一样,我们发现若干高度右偏分布,包括每包发布数、每作者包数与发布数、每包导入数以及每包与每发布大小的分布。然而,我们也发现大多数包由单个个人而非多个个人或组织贡献。本文的数据、方法与计算为关于 PyPI 的公开讨论提供了锚点,并作为未来 Python 软件生态系统研究的基础。
引用
@article{arxiv.1907.11073,
title = {An Empirical Analysis of the Python Package Index (PyPI)},
author = {Ethan Bommarito and Michael Bommarito},
journal= {arXiv preprint arXiv:1907.11073},
year = {2019}
}
备注
15 pages, 2 figures, 20 tables; initial draft for public comment