Added package repo statistic extraction script

This commit is contained in:
2025-10-06 17:51:52 -04:00
parent 2edf37044f
commit c4855bb3e3
9 changed files with 17032 additions and 35 deletions

View File

@@ -3,7 +3,12 @@
"workspaces": {
"": {
"name": "nix-presentation",
"dependencies": {
"@types/reveal.js": "^5.2.0",
"reveal.js": "^5.2.1",
},
"devDependencies": {
"@types/bun": "^1.2.23",
"typescript": "~5.9.3",
"vite": "^7.1.7",
},
@@ -106,8 +111,20 @@
"@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.52.3", "", { "os": "win32", "cpu": "x64" }, "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA=="],
"@types/bun": ["@types/bun@1.2.23", "", { "dependencies": { "bun-types": "1.2.23" } }, "sha512-le8ueOY5b6VKYf19xT3McVbXqLqmxzPXHsQT/q9JHgikJ2X22wyTW3g3ohz2ZMnp7dod6aduIiq8A14Xyimm0A=="],
"@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="],
"@types/node": ["@types/node@24.6.2", "", { "dependencies": { "undici-types": "~7.13.0" } }, "sha512-d2L25Y4j+W3ZlNAeMKcy7yDsK425ibcAOO2t7aPTz6gNMH0z2GThtwENCDc0d/Pw9wgyRqE5Px1wkV7naz8ang=="],
"@types/react": ["@types/react@19.2.0", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-1LOH8xovvsKsCBq1wnT4ntDUdCJKmnEakhsuoUSy6ExlHCkGP2hqnatagYTgFk6oeL0VU31u7SNjunPN+GchtA=="],
"@types/reveal.js": ["@types/reveal.js@5.2.0", "", {}, "sha512-IHO3Nc0YjI4CKQHeK/2U+6SinAJCC8/xiKCIDQnlFCiq02GMag+WrveIszll033zyv/mtXoCnWmYZITUngE2pA=="],
"bun-types": ["bun-types@1.2.23", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-R9f0hKAZXgFU3mlrA0YpE/fiDvwV0FT9rORApt2aQVWSuJDzZOyB5QLc0N/4HF57CS8IXJ6+L5E4W1bW6NS2Aw=="],
"csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
"esbuild": ["esbuild@0.25.10", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.10", "@esbuild/android-arm": "0.25.10", "@esbuild/android-arm64": "0.25.10", "@esbuild/android-x64": "0.25.10", "@esbuild/darwin-arm64": "0.25.10", "@esbuild/darwin-x64": "0.25.10", "@esbuild/freebsd-arm64": "0.25.10", "@esbuild/freebsd-x64": "0.25.10", "@esbuild/linux-arm": "0.25.10", "@esbuild/linux-arm64": "0.25.10", "@esbuild/linux-ia32": "0.25.10", "@esbuild/linux-loong64": "0.25.10", "@esbuild/linux-mips64el": "0.25.10", "@esbuild/linux-ppc64": "0.25.10", "@esbuild/linux-riscv64": "0.25.10", "@esbuild/linux-s390x": "0.25.10", "@esbuild/linux-x64": "0.25.10", "@esbuild/netbsd-arm64": "0.25.10", "@esbuild/netbsd-x64": "0.25.10", "@esbuild/openbsd-arm64": "0.25.10", "@esbuild/openbsd-x64": "0.25.10", "@esbuild/openharmony-arm64": "0.25.10", "@esbuild/sunos-x64": "0.25.10", "@esbuild/win32-arm64": "0.25.10", "@esbuild/win32-ia32": "0.25.10", "@esbuild/win32-x64": "0.25.10" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ=="],
"fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
@@ -122,6 +139,8 @@
"postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="],
"reveal.js": ["reveal.js@5.2.1", "", {}, "sha512-r7//6mIM5p34hFiDMvYfXgyjXqGRta+/psd9YtytsgRlrpRzFv4RbH76TXd2qD+7ZPZEbpBDhdRhJaFgfQ7zNQ=="],
"rollup": ["rollup@4.52.3", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.52.3", "@rollup/rollup-android-arm64": "4.52.3", "@rollup/rollup-darwin-arm64": "4.52.3", "@rollup/rollup-darwin-x64": "4.52.3", "@rollup/rollup-freebsd-arm64": "4.52.3", "@rollup/rollup-freebsd-x64": "4.52.3", "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", "@rollup/rollup-linux-arm-musleabihf": "4.52.3", "@rollup/rollup-linux-arm64-gnu": "4.52.3", "@rollup/rollup-linux-arm64-musl": "4.52.3", "@rollup/rollup-linux-loong64-gnu": "4.52.3", "@rollup/rollup-linux-ppc64-gnu": "4.52.3", "@rollup/rollup-linux-riscv64-gnu": "4.52.3", "@rollup/rollup-linux-riscv64-musl": "4.52.3", "@rollup/rollup-linux-s390x-gnu": "4.52.3", "@rollup/rollup-linux-x64-gnu": "4.52.3", "@rollup/rollup-linux-x64-musl": "4.52.3", "@rollup/rollup-openharmony-arm64": "4.52.3", "@rollup/rollup-win32-arm64-msvc": "4.52.3", "@rollup/rollup-win32-ia32-msvc": "4.52.3", "@rollup/rollup-win32-x64-gnu": "4.52.3", "@rollup/rollup-win32-x64-msvc": "4.52.3", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A=="],
"source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
@@ -130,6 +149,8 @@
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
"undici-types": ["undici-types@7.13.0", "", {}, "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ=="],
"vite": ["vite@7.1.8", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-oBXvfSHEOL8jF+R9Am7h59Up07kVVGH1NrFGFoEG6bPDZP3tGpQhvkBpy5x7U6+E6wZCu9OihsWgJqDbQIm8LQ=="],
}
}

View File

@@ -9,6 +9,17 @@
# https://devenv.sh/languages/
languages = {
python = {
enable = true;
venv = {
enable = true;
requirements = ''
beautifulsoup4==4.14.2
soupsieve==2.8
typing_extensions==4.15.0
'';
};
};
javascript = {
enable = true;
bun = {

View File

@@ -1,13 +1,98 @@
<!doctype html>
<html lang="en">
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>nix-presentation</title>
<link rel="stylesheet" href="/node_modules/reveal.js/dist/reveal.css" />
<link rel="stylesheet" href="/node_modules/reveal.js/dist/theme/black.css" />
<link rel="stylesheet" href="/node_modules/reveal.js/plugin/highlight/monokai.css" />
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
<div class="reveal">
<div class="slides">
<section>Nick's guide to Nix</section>
<section data-auto-animate>
<pre
data-id="code-animation"
><code data-trim data-line-numbers class="language-nix">
{
description = "System configuration";
}
</code></pre>
</section>
<section data-auto-animate>
<pre
data-id="code-animation"
><code data-trim data-line-numbers class="language-nix">
{
description = "System configuration";
inputs = {
};
outputs = { ... }: {
};
}
</code></pre>
</section>
<section data-auto-animate>
<pre
data-id="code-animation"
><code data-trim data-line-numbers class="language-nix">
{
description = "System configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { ... }: {
};
}
</code></pre>
</section>
<section data-auto-animate>
<pre
data-id="code-animation"
><code data-trim data-line-numbers class="language-nix">
{
description = "System configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { nixpkgs, ... }@inputs: {
};
}
</code></pre>
</section>
<section data-auto-animate>
<pre
data-id="code-animation"
><code data-trim data-line-numbers class="language-nix">
{
description = "System configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { nixpkgs, ... }@inputs: {
nixosConfigurations.my-nixos-system = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
];
};
};
}
</code></pre>
</section>
</div>
</div>
<script type="module" src="src/main.ts"></script>
</body>
</html>

View File

@@ -9,7 +9,12 @@
"preview": "vite preview"
},
"devDependencies": {
"@types/bun": "^1.2.23",
"typescript": "~5.9.3",
"vite": "^7.1.7"
},
"dependencies": {
"@types/reveal.js": "^5.2.0",
"reveal.js": "^5.2.1"
}
}

310
public/packages.csv Normal file
View File

@@ -0,0 +1,310 @@
Name,Packages,Fresh Packages
Adélie Linux current,2279,2255
AIX Open Source Packages,1011,984
AIX Toolbox,607,429
AlmaLinux 8,2632,2501
AlmaLinux 9,2468,2349
Alpine Linux 3.15,5595,5322
Alpine Linux 3.16,6044,5764
Alpine Linux 3.17,6436,6156
Alpine Linux 3.18,6673,6381
Alpine Linux 3.19,7404,7082
Alpine Linux 3.20,7740,7396
Alpine Linux 3.21,8104,7709
Alpine Linux 3.22,8419,7989
Alpine Linux Edge,11974,11190
ALT Linux p9,17701,14547
ALT Linux p10,18294,15139
ALT Linux p11,19135,15893
ALT Sisyphus,20075,16620
Amazon Linux 1,2040,1973
Amazon Linux 2,2615,2573
AOSC,5395,4906
Apertis v2023,5535,4390
Apertis v2024,5816,4653
Apertis v2025,5821,4656
Apertis v2026 Development,6711,5313
Arch Linux,11641,11163
Arch Testing,224,214
Arch Linux ARM aarch64,10743,10230
ArchPOWER powerpc,3854,3670
ArchPOWER powerpc64le,3977,3781
ArchPOWER riscv64,3825,3635
AUR,79625,40268
Artix,6423,5472
Artix Testing,88,86
BackBox 6,19,13
BackBox 7,26,19
Baulk,69,63
BioArch,5184,5006
BlackArch,4534,2584
Calculate,54,18
Carbs Linux,340,334
CentOS 6,2130,2038
CentOS 7,2695,2662
CentOS 8,2633,2531
CentOS Stream 8,2786,2620
CentOS Stream 9,2457,2373
CentOS Stream 10,2126,2105
Chimera Linux,2933,2845
Chocolatey,3330,3330
Chromebrew,2332,2195
ConanCenter,1848,1473
CPAN,9694,9694
MetaCPAN,9904,9904
CRAN,22456,22456
crates.io,4698,4698
CRUX 3.6,1801,1756
CRUX 3.7,2110,2064
CRUX 3.8,2141,2090
Cygwin,3203,3114
Deb Multimedia Unstable,434,362
Debian 11,31013,23619
Debian 12,34450,25979
Debian 12 Backports,957,667
Debian 12 Backports sloppy,4,2
Debian 13,37690,28389
Debian 13 Backports,124,97
Debian 14,37748,28347
Debian Unstable,39167,29289
Debian Experimental,986,709
deepin 20,28824,21797
deepin 23,10970,9142
Devuan 4.0,31025,23624
Devuan Unstable,39138,29269
distri,534,396
ELRepo el8,89,9
ELRepo el8 Testing,6,1
ELRepo el9,86,9
ELRepo el9 Testing,9,1
Endless OS 4.0,116,80
Endless OS master,100,68
EPEL 6,5893,4995
EPEL 7,7217,6367
EPEL 8,5167,4853
EPEL 9,7867,7359
EPEL 10,6182,5853
EuroLinux 8,2690,2583
EuroLinux 9,2401,2330
Exherbo,6597,6351
F-Droid,3888,430
Fedora 37,23796,21011
Fedora 38,24040,21300
Fedora 39,23997,21555
Fedora 40,24344,21907
Fedora 41,24324,21912
Fedora 42,24135,21851
Fedora Rawhide,23109,21096
FreeBSD Ports,31922,26992
Gentoo,17794,15384
Gentoo overlay GURU,1897,1597
Gentoo overlay Pentoo,816,699
Gentoo Science overlay,552,393
glaucus,119,116
GNU Elpa,478,478
GNU Guix,28668,21435
GoboLinux,3659,3246
Hackage,18232,18232
HaikuPorts master,3366,2922
Homebrew,7675,6788
Homebrew Casks,2015,2015
Homebrew tap Brewsci/bio,316,241
HP-UX 11.31,551,528
IBM i,260,228
IzzyOnDroid,1273,390
Kali Linux Bleeding Edge,84,48
Kali Linux Rolling,38416,28771
KaOS,1758,1726
KaOS Build,35,33
KDE neon Testing,777,694
KDE neon Unstable,818,721
KDE neon User,582,547
KDE neon User LTS,512,479
KISS Community - main,151,151
KISS Community - community,386,369
Libregamewiki,649,388
LiGurOS stable,19403,16794
LiGurOS develop,19400,16758
LuaRocks,351,351
MacPorts,19427,17422
Mageia 8,14158,13743
Mageia 9,14999,14595
Mageia cauldron,16461,16046
Manjaro Stable,11958,11287
Manjaro Testing,11968,11300
Manjaro Unstable,11970,11301
MELPA,5962,5962
MELPA Stable,3234,3234
MidnightBSD mports,5994,5238
MPR,781,633
MSYS2 clang64,2761,2685
MSYS2 clangarm64,2684,2612
MSYS2 mingw,2602,2525
MSYS2 msys2,545,514
MSYS2 ucrt64,2829,2749
MX Linux MX-21,651,474
MX Linux MX-21 Testing,504,481
MX Linux MX-23,428,267
MX Linux MX-23 Testing,352,333
nixpkgs stable 22.11,79668,63789
nixpkgs stable 23.05,83116,66820
nixpkgs stable 23.11,88097,71081
nixpkgs stable 24.05,96263,78426
nixpkgs stable 24.11,100160,80885
nixpkgs stable 25.05,105443,84020
nixpkgs unstable,107989,85677
NOIR Linux Main,238,235
Npackd Stable,889,621
Npackd Stable64,292,239
Npackd Unstable,7,5
opam,1183,1183
OpenBSD Ports,9757,8838
openEuler 20.03-LTS-SP3,3305,3222
openEuler 20.03-LTS-SP4,3342,3256
openEuler 22.03-LTS,4155,4014
openEuler 22.03-LTS-SP1,4187,4034
openEuler 22.03-LTS-SP2,4194,4042
openEuler 22.03-LTS-SP3,4227,4063
openEuler 22.03-LTS-SP4,4237,4061
openEuler 23.03,4206,4055
openEuler 23.09,4494,4226
openEuler 24.03-LTS,4746,4462
openEuler 24.03-LTS-SP1,4767,4476
openEuler 24.09,4747,4458
openEuler 25.03,4863,4572
OpenIndiana packages,2555,2452
openmamba,5421,5207
OpenMandriva 4.3,11798,11475
OpenMandriva 5.0,14134,13769
OpenMandriva 6.0,14956,14534
OpenMandriva Rolling,14960,14538
OpenMandriva Cooker,15077,14647
OpenPKG,2329,1876
openSUSE Leap 15.4,13179,11762
openSUSE Leap 15.5,14300,12765
openSUSE Leap 15.6,14492,12921
openSUSE Tumbleweed,15866,14129
openSUSE Education Tumbleweed,343,239
openSUSE Emulators Tumbleweed,140,118
openSUSE games Tumbleweed,856,756
openSUSE graphics Tumbleweed,290,257
openSUSE hardware:sdr Tumbleweed,168,129
openSUSE multimedia:apps Tumbleweed,345,321
openSUSE multimedia:libs Tumbleweed,312,289
openSUSE network Tumbleweed,248,217
openSUSE science Tumbleweed,895,677
openSUSE security Tumbleweed,278,231
openSUSE server:irc Tumbleweed,43,40
openSUSE shells Tumbleweed,30,27
Open VSX,352,352
OpenWrt 23.05 x86_64,1688,1281
OpenWrt 24.10 x86_64,1757,1324
OS4Depot,908,908
PackMan openSUSE Tumbleweed,330,275
PackMan SLE 12,252,227
PackMan SLE 15,73,59
pacstall,787,595
Parabola,12160,11507
Parabola Testing,19,6
Pardus 21,31108,23668
Pardus 23,123,66
Parrot,35081,26395
PCLinuxOS,11697,10629
Pisi Linux,3101,2995
Pisi Linux Contrib,133,108
pkgsrc current,17637,15344
PLD Linux,12836,11136
postmarketOS 22.12,203,45
postmarketOS 23.06,199,42
postmarketOS 23.12,224,35
postmarketOS 24.06,590,39
postmarketOS 24.12,578,35
postmarketOS master,785,36
PTXdist,949,885
PureOS amber,28291,21507
PureOS byzantium,30645,23446
PureOS landing,37379,28215
PyPI,20874,20874
Raspbian Oldstable,34606,25500
Raspbian Stable,38599,28142
Raspbian Testing,42870,31226
Ravenports,3475,3456
ReactOS rapps,188,188
RebornOS,364,230
Rocky Linux 8,2789,2611
Rocky Linux 9,2496,2362
Rosa 2021.1,19613,18735
Rosa 13,20260,19272
RPM Fusion EL 6,71,62
RPM Fusion EL 7,125,110
RPM Fusion EL 8,106,87
RPM Fusion EL 9,60,41
RPM Fusion Fedora 39,334,282
RPM Fusion Fedora 40,324,273
RPM Fusion Fedora 41,318,266
RPM Fusion Fedora Rawhide,297,247
RPM Sphere,2867,1961
RubyGems,4282,4282
SageMath stable,369,336
SageMath development,367,334
Salix 14.2,429,390
Scientific Linux 7.x,2906,2745
Software Collections,254,248
Scoop,4186,3093
Side Linux,921,912
Siduction,289,35
Siduction Experimental,15,6
SlackBuilds,9706,8646
Slackware 14.2,1315,1284
Slackware 15.0,1674,1636
Slackware current,1777,1744
Slackware64 14.2,1307,1279
Slackware64 15.0,1667,1632
Slackware64 current,1776,1742
Slackwarearm 14.2,1299,1270
Slackwarearm 15.0,1636,1607
SliTaz Cooking,3702,3229
SliTaz Current,779,698
SliTaz Next,3456,3162
Solus,4613,4498
Spack,8484,7086
Stackage LTS Haskell,3409,3409
Stackage Nightly,3260,3260
stal/IX,1105,1076
stal/IX dev,1106,1077
T2 SDE,6086,5525
Tails stable,3,2
Tails devel,3,2
Termux,2599,2431
Termux User Repository,265,212
Terra 39,353,270
Terra 40,468,351
Terra 41,500,335
Terra rawhide,511,349
Tin Can Linux,80,78
Trisquel 10.0,29817,22577
Trisquel 10.0 backports,68,64
Trisquel 11.0,33260,24925
Trisquel 11.0 backports,60,54
UBI 8,884,826
Ubuntu 14.04,21435,15857
Ubuntu 14.04 Backports,108,90
Ubuntu 16.04,24908,18589
Ubuntu 16.04 Backports,24,21
Ubuntu 18.04,28653,21029
Ubuntu 18.04 Backports,18,15
Ubuntu 20.04,30756,22834
Ubuntu 20.04 Backports,21,19
Ubuntu 22.04,34140,25188
Ubuntu 22.04 Backports,21,20
Ubuntu 24.04,36970,27560
Ubuntu 24.04 Backports,18,17
Ubuntu 25.04,39087,29140
Ubuntu 25.04 Backports,3,3
Ubuntu 25.10,39153,29111
Ubuntu 25.10 Proposed,272,207
Vcpkg,2481,1827
Void Linux x86_64,8919,8590
WakeMeOps,188,179
Wikidata,4582,4501
YACP,3719,3014
1 Name Packages Fresh Packages
2 Adélie Linux current 2279 2255
3 AIX Open Source Packages 1011 984
4 AIX Toolbox 607 429
5 AlmaLinux 8 2632 2501
6 AlmaLinux 9 2468 2349
7 Alpine Linux 3.15 5595 5322
8 Alpine Linux 3.16 6044 5764
9 Alpine Linux 3.17 6436 6156
10 Alpine Linux 3.18 6673 6381
11 Alpine Linux 3.19 7404 7082
12 Alpine Linux 3.20 7740 7396
13 Alpine Linux 3.21 8104 7709
14 Alpine Linux 3.22 8419 7989
15 Alpine Linux Edge 11974 11190
16 ALT Linux p9 17701 14547
17 ALT Linux p10 18294 15139
18 ALT Linux p11 19135 15893
19 ALT Sisyphus 20075 16620
20 Amazon Linux 1 2040 1973
21 Amazon Linux 2 2615 2573
22 AOSC 5395 4906
23 Apertis v2023 5535 4390
24 Apertis v2024 5816 4653
25 Apertis v2025 5821 4656
26 Apertis v2026 Development 6711 5313
27 Arch Linux 11641 11163
28 Arch Testing 224 214
29 Arch Linux ARM aarch64 10743 10230
30 ArchPOWER powerpc 3854 3670
31 ArchPOWER powerpc64le 3977 3781
32 ArchPOWER riscv64 3825 3635
33 AUR 79625 40268
34 Artix 6423 5472
35 Artix Testing 88 86
36 BackBox 6 19 13
37 BackBox 7 26 19
38 Baulk 69 63
39 BioArch 5184 5006
40 BlackArch 4534 2584
41 Calculate 54 18
42 Carbs Linux 340 334
43 CentOS 6 2130 2038
44 CentOS 7 2695 2662
45 CentOS 8 2633 2531
46 CentOS Stream 8 2786 2620
47 CentOS Stream 9 2457 2373
48 CentOS Stream 10 2126 2105
49 Chimera Linux 2933 2845
50 Chocolatey 3330 3330
51 Chromebrew 2332 2195
52 ConanCenter 1848 1473
53 CPAN 9694 9694
54 MetaCPAN 9904 9904
55 CRAN 22456 22456
56 crates.io 4698 4698
57 CRUX 3.6 1801 1756
58 CRUX 3.7 2110 2064
59 CRUX 3.8 2141 2090
60 Cygwin 3203 3114
61 Deb Multimedia Unstable 434 362
62 Debian 11 31013 23619
63 Debian 12 34450 25979
64 Debian 12 Backports 957 667
65 Debian 12 Backports sloppy 4 2
66 Debian 13 37690 28389
67 Debian 13 Backports 124 97
68 Debian 14 37748 28347
69 Debian Unstable 39167 29289
70 Debian Experimental 986 709
71 deepin 20 28824 21797
72 deepin 23 10970 9142
73 Devuan 4.0 31025 23624
74 Devuan Unstable 39138 29269
75 distri 534 396
76 ELRepo el8 89 9
77 ELRepo el8 Testing 6 1
78 ELRepo el9 86 9
79 ELRepo el9 Testing 9 1
80 Endless OS 4.0 116 80
81 Endless OS master 100 68
82 EPEL 6 5893 4995
83 EPEL 7 7217 6367
84 EPEL 8 5167 4853
85 EPEL 9 7867 7359
86 EPEL 10 6182 5853
87 EuroLinux 8 2690 2583
88 EuroLinux 9 2401 2330
89 Exherbo 6597 6351
90 F-Droid 3888 430
91 Fedora 37 23796 21011
92 Fedora 38 24040 21300
93 Fedora 39 23997 21555
94 Fedora 40 24344 21907
95 Fedora 41 24324 21912
96 Fedora 42 24135 21851
97 Fedora Rawhide 23109 21096
98 FreeBSD Ports 31922 26992
99 Gentoo 17794 15384
100 Gentoo overlay GURU 1897 1597
101 Gentoo overlay Pentoo 816 699
102 Gentoo Science overlay 552 393
103 glaucus 119 116
104 GNU Elpa 478 478
105 GNU Guix 28668 21435
106 GoboLinux 3659 3246
107 Hackage 18232 18232
108 HaikuPorts master 3366 2922
109 Homebrew 7675 6788
110 Homebrew Casks 2015 2015
111 Homebrew tap Brewsci/bio 316 241
112 HP-UX 11.31 551 528
113 IBM i 260 228
114 IzzyOnDroid 1273 390
115 Kali Linux Bleeding Edge 84 48
116 Kali Linux Rolling 38416 28771
117 KaOS 1758 1726
118 KaOS Build 35 33
119 KDE neon Testing 777 694
120 KDE neon Unstable 818 721
121 KDE neon User 582 547
122 KDE neon User LTS 512 479
123 KISS Community - main 151 151
124 KISS Community - community 386 369
125 Libregamewiki 649 388
126 LiGurOS stable 19403 16794
127 LiGurOS develop 19400 16758
128 LuaRocks 351 351
129 MacPorts 19427 17422
130 Mageia 8 14158 13743
131 Mageia 9 14999 14595
132 Mageia cauldron 16461 16046
133 Manjaro Stable 11958 11287
134 Manjaro Testing 11968 11300
135 Manjaro Unstable 11970 11301
136 MELPA 5962 5962
137 MELPA Stable 3234 3234
138 MidnightBSD mports 5994 5238
139 MPR 781 633
140 MSYS2 clang64 2761 2685
141 MSYS2 clangarm64 2684 2612
142 MSYS2 mingw 2602 2525
143 MSYS2 msys2 545 514
144 MSYS2 ucrt64 2829 2749
145 MX Linux MX-21 651 474
146 MX Linux MX-21 Testing 504 481
147 MX Linux MX-23 428 267
148 MX Linux MX-23 Testing 352 333
149 nixpkgs stable 22.11 79668 63789
150 nixpkgs stable 23.05 83116 66820
151 nixpkgs stable 23.11 88097 71081
152 nixpkgs stable 24.05 96263 78426
153 nixpkgs stable 24.11 100160 80885
154 nixpkgs stable 25.05 105443 84020
155 nixpkgs unstable 107989 85677
156 NOIR Linux Main 238 235
157 Npackd Stable 889 621
158 Npackd Stable64 292 239
159 Npackd Unstable 7 5
160 opam 1183 1183
161 OpenBSD Ports 9757 8838
162 openEuler 20.03-LTS-SP3 3305 3222
163 openEuler 20.03-LTS-SP4 3342 3256
164 openEuler 22.03-LTS 4155 4014
165 openEuler 22.03-LTS-SP1 4187 4034
166 openEuler 22.03-LTS-SP2 4194 4042
167 openEuler 22.03-LTS-SP3 4227 4063
168 openEuler 22.03-LTS-SP4 4237 4061
169 openEuler 23.03 4206 4055
170 openEuler 23.09 4494 4226
171 openEuler 24.03-LTS 4746 4462
172 openEuler 24.03-LTS-SP1 4767 4476
173 openEuler 24.09 4747 4458
174 openEuler 25.03 4863 4572
175 OpenIndiana packages 2555 2452
176 openmamba 5421 5207
177 OpenMandriva 4.3 11798 11475
178 OpenMandriva 5.0 14134 13769
179 OpenMandriva 6.0 14956 14534
180 OpenMandriva Rolling 14960 14538
181 OpenMandriva Cooker 15077 14647
182 OpenPKG 2329 1876
183 openSUSE Leap 15.4 13179 11762
184 openSUSE Leap 15.5 14300 12765
185 openSUSE Leap 15.6 14492 12921
186 openSUSE Tumbleweed 15866 14129
187 openSUSE Education Tumbleweed 343 239
188 openSUSE Emulators Tumbleweed 140 118
189 openSUSE games Tumbleweed 856 756
190 openSUSE graphics Tumbleweed 290 257
191 openSUSE hardware:sdr Tumbleweed 168 129
192 openSUSE multimedia:apps Tumbleweed 345 321
193 openSUSE multimedia:libs Tumbleweed 312 289
194 openSUSE network Tumbleweed 248 217
195 openSUSE science Tumbleweed 895 677
196 openSUSE security Tumbleweed 278 231
197 openSUSE server:irc Tumbleweed 43 40
198 openSUSE shells Tumbleweed 30 27
199 Open VSX 352 352
200 OpenWrt 23.05 x86_64 1688 1281
201 OpenWrt 24.10 x86_64 1757 1324
202 OS4Depot 908 908
203 PackMan openSUSE Tumbleweed 330 275
204 PackMan SLE 12 252 227
205 PackMan SLE 15 73 59
206 pacstall 787 595
207 Parabola 12160 11507
208 Parabola Testing 19 6
209 Pardus 21 31108 23668
210 Pardus 23 123 66
211 Parrot 35081 26395
212 PCLinuxOS 11697 10629
213 Pisi Linux 3101 2995
214 Pisi Linux Contrib 133 108
215 pkgsrc current 17637 15344
216 PLD Linux 12836 11136
217 postmarketOS 22.12 203 45
218 postmarketOS 23.06 199 42
219 postmarketOS 23.12 224 35
220 postmarketOS 24.06 590 39
221 postmarketOS 24.12 578 35
222 postmarketOS master 785 36
223 PTXdist 949 885
224 PureOS amber 28291 21507
225 PureOS byzantium 30645 23446
226 PureOS landing 37379 28215
227 PyPI 20874 20874
228 Raspbian Oldstable 34606 25500
229 Raspbian Stable 38599 28142
230 Raspbian Testing 42870 31226
231 Ravenports 3475 3456
232 ReactOS rapps 188 188
233 RebornOS 364 230
234 Rocky Linux 8 2789 2611
235 Rocky Linux 9 2496 2362
236 Rosa 2021.1 19613 18735
237 Rosa 13 20260 19272
238 RPM Fusion EL 6 71 62
239 RPM Fusion EL 7 125 110
240 RPM Fusion EL 8 106 87
241 RPM Fusion EL 9 60 41
242 RPM Fusion Fedora 39 334 282
243 RPM Fusion Fedora 40 324 273
244 RPM Fusion Fedora 41 318 266
245 RPM Fusion Fedora Rawhide 297 247
246 RPM Sphere 2867 1961
247 RubyGems 4282 4282
248 SageMath stable 369 336
249 SageMath development 367 334
250 Salix 14.2 429 390
251 Scientific Linux 7.x 2906 2745
252 Software Collections 254 248
253 Scoop 4186 3093
254 Side Linux 921 912
255 Siduction 289 35
256 Siduction Experimental 15 6
257 SlackBuilds 9706 8646
258 Slackware 14.2 1315 1284
259 Slackware 15.0 1674 1636
260 Slackware current 1777 1744
261 Slackware64 14.2 1307 1279
262 Slackware64 15.0 1667 1632
263 Slackware64 current 1776 1742
264 Slackwarearm 14.2 1299 1270
265 Slackwarearm 15.0 1636 1607
266 SliTaz Cooking 3702 3229
267 SliTaz Current 779 698
268 SliTaz Next 3456 3162
269 Solus 4613 4498
270 Spack 8484 7086
271 Stackage LTS Haskell 3409 3409
272 Stackage Nightly 3260 3260
273 stal/IX 1105 1076
274 stal/IX dev 1106 1077
275 T2 SDE 6086 5525
276 Tails stable 3 2
277 Tails devel 3 2
278 Termux 2599 2431
279 Termux User Repository 265 212
280 Terra 39 353 270
281 Terra 40 468 351
282 Terra 41 500 335
283 Terra rawhide 511 349
284 Tin Can Linux 80 78
285 Trisquel 10.0 29817 22577
286 Trisquel 10.0 backports 68 64
287 Trisquel 11.0 33260 24925
288 Trisquel 11.0 backports 60 54
289 UBI 8 884 826
290 Ubuntu 14.04 21435 15857
291 Ubuntu 14.04 Backports 108 90
292 Ubuntu 16.04 24908 18589
293 Ubuntu 16.04 Backports 24 21
294 Ubuntu 18.04 28653 21029
295 Ubuntu 18.04 Backports 18 15
296 Ubuntu 20.04 30756 22834
297 Ubuntu 20.04 Backports 21 19
298 Ubuntu 22.04 34140 25188
299 Ubuntu 22.04 Backports 21 20
300 Ubuntu 24.04 36970 27560
301 Ubuntu 24.04 Backports 18 17
302 Ubuntu 25.04 39087 29140
303 Ubuntu 25.04 Backports 3 3
304 Ubuntu 25.10 39153 29111
305 Ubuntu 25.10 Proposed 272 207
306 Vcpkg 2481 1827
307 Void Linux x86_64 8919 8590
308 WakeMeOps 188 179
309 Wikidata 4582 4501
310 YACP 3719 3014

16538
public/packages_table.html Normal file

File diff suppressed because it is too large Load Diff

43
public/stats.py Normal file
View File

@@ -0,0 +1,43 @@
import csv
from bs4 import BeautifulSoup
# Load your HTML (replace this with reading from a file or requests.get().text)
with open("packages_table.html", "r", encoding="utf-8") as f:
html = f.read()
soup = BeautifulSoup(html, "html.parser")
rows: list[tuple[str, str, str]] = []
for tr in soup.select("tbody > tr"):
# 1⃣ First column: repo name
name_tag = tr.select_one("th a")
name = name_tag.get_text(strip=True) if name_tag else ""
# 2⃣ Second and third columns: prefer span[title], fall back to span text
td_tags = tr.select("td")
if len(td_tags) >= 2:
def extract_value(td):
span = td.select_one("span")
if span:
# Prefer title attribute, else text content
return span.get("title") or span.get_text(strip=True)
# Sometimes there's no <span>, just text inside <a> or <td>
return td.get_text(strip=True)
packages = extract_value(td_tags[0])
fresh_packages = extract_value(td_tags[1])
else:
packages = fresh_packages = ""
rows.append((name, packages, fresh_packages))
# Write to CSV
with open("packages.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["Name", "Packages", "Fresh Packages"])
writer.writerows(rows)
print("✅ Extracted", len(rows), "rows into packages.csv")

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,24 +1,9 @@
import './style.css'
import typescriptLogo from './typescript.svg'
import viteLogo from '/vite.svg'
import { setupCounter } from './counter.ts'
import Reveal from 'reveal.js'
import Markdown from 'reveal.js/plugin/markdown/markdown.esm.js'
import RevealHighlight from 'reveal.js/plugin/highlight/highlight.esm.js'
document.querySelector<HTMLDivElement>('#app')!.innerHTML = `
<div>
<a href="https://vite.dev" target="_blank">
<img src="${viteLogo}" class="logo" alt="Vite logo" />
</a>
<a href="https://www.typescriptlang.org/" target="_blank">
<img src="${typescriptLogo}" class="logo vanilla" alt="TypeScript logo" />
</a>
<h1>Vite + TypeScript</h1>
<div class="card">
<button id="counter" type="button"></button>
</div>
<p class="read-the-docs">
Click on the Vite and TypeScript logos to learn more
</p>
</div>
`
let deck = new Reveal({
plugins: [Markdown, RevealHighlight],
})
setupCounter(document.querySelector<HTMLButtonElement>('#counter')!)
deck.initialize()