🌌 Hugging Face Spaces 分析

数据集:Weyaxi/huggingface-spaces-codes
🤗 Huggingface Spaces 是一个非常出色、易于使用的平台,可以在几秒钟内发布各种类型的应用程序并免费托管。Huggingface Spaces 拥有如此多积极的方面,目前 Hub 中已有超过 18 万个 Spaces。
❓ 这是如何制作的?
三个月前,我决定克隆所有 spaces 并从中创建一个数据集,同时展示有意义的统计数据。
过了一段时间,当我尝试抓取大约 16 万个 spaces 时,我发现这几乎是不可能的,而且没有必要做到那种程度。于是,我根据点赞数对 spaces 进行了排序,并尝试抓取其中 2 万个,而不是全部 16 万个。
遇到这个问题后,我又遇到了另一个问题:Spaces 中托管的大文件。因此,我只关注 Spaces 中的代码文件。于是,我只抓取了代码文件。
有趣的是,列表中最后也有点赞数为 0 的 spaces!所以,如果你的 space 点赞数为 0,并且幸运地进入了我的列表,我也抓取了它们:)
🚀 生成的数据集
经过长时间的处理,解决了速率限制等问题后,最终结果是大约 13 万个文件和 2 GB 的数据。然后又出现了一个问题
磁盘使用量不大,但文件数量非常多。
- 我尝试了传统技术,但它们都失败了。
- 我还尝试使用 Huggingface Hub 库中的多提交功能上传,但这也没有成功,因为它在一次提交中上传的文件太少。
然后我通过修改库代码本身解决了这个问题!
事实证明,多提交在每次提交时上传一定数量的文件(我不记得具体数量),所以我将这个数量改成了 18000。
然后我在这里发布了数据集
https://huggingface.co/datasets/Weyaxi/huggingface-spaces-codes
📊 数据集统计
完成所有这些处理后,让我们深入了解统计数据。以下是我抓取的 Spaces 的统计概述。
语言 | 文件扩展名 | 文件数量 | 文件大小 (MB) | 行数 |
---|---|---|---|---|
Python | .py | 141,560 | 1079.0 | 28,653,744 |
SQL | .sql | 21 | 523.6 | 645 |
JavaScript | .js | 6,790 | 369.8 | 2,137,054 |
Markdown | .md | 63,237 | 273.4 | 3,110,443 |
HTML | .html | 1,953 | 265.8 | 516,020 |
C | .c | 1,320 | 132.2 | 3,558,826 |
Go | .go | 429 | 46.3 | 6,331 |
CSS | .css | 3,097 | 25.6 | 386,334 |
C 头文件 | .h | 2,824 | 20.4 | 570,948 |
C++ | .cpp | 1,117 | 15.3 | 494,939 |
TypeScript | .ts | 4,158 | 14.8 | 439,551 |
TSX | .tsx | 4,273 | 9.4 | 306,416 |
Shell | .sh | 3,294 | 5.5 | 171,943 |
Perl | .pm | 92 | 4.2 | 128,594 |
C# | .cs | 22 | 3.9 | 41,265 |
🖥️ 语言
正如我们可能预料的那样,Python 是使用最广泛的语言,优势显著,其次是 Markdown 和 JavaScript。(热爱 Python ❤️)
📁 大小
如果我们查看文件大小图表,可以看到 Python 在其他语言中占用空间更大。SQL 紧随其后,我认为这是因为 Hugging Face Spaces 中托管了数据库文件。在 SQL 之后,我们又遇到了 JavaScript :)
📝 行数
Python 的行数在其他语言中最高,但我们遇到了另一种语言排在第二位。我们的老朋友:C。C 在 Hugging Face Spaces 中行数仅次于 Python。
Spaces 统计
🛠️ 软件开发工具包 (SDK)
Huggingface 提供了许多软件开发工具包 (SDK) 来创建我们的 Spaces。从图表中我们可以看到,我个人非常喜爱和使用的 Gradio 是 Hugging Face Spaces 中使用最多的 SDK,其次是 Streamlit。
🏛️ 许可证
正如我提供的图表所示,大多数 Spaces 没有许可证,而 MIT 和 Apache 许可证紧随其后。