from Jorvex609@piefed.zip to programming@programming.dev on 18 Jun 12:01
https://piefed.zip/c/programming@piefed.zip/p/1585007/trending-linux-packages-now-with-all-1600-appstream-apps-a-curl-to-pacman-install-list-and
I posted a tool a while back that tracked trending Linux packages from pkgstats data. The feedback made me rethink it — the curated category list of 173 packages was too narrow, and people wanted something they could actually use on a fresh install.
Biggest change: full AppStream coverage instead of a hand-picked list.
The collector now parses Manjaro/Arch’s AppStream XML data (/usr/share/swcatalog/xml/) to automatically extract every desktop-application and console-application package, then maps their AppStream categories to 8 Pamac-style groups (Audio & Video, Games, Development, Utilities, etc.). That jumped coverage from 173 → ~1600 packages.
But AppStream misses a lot of stuff that power users care about — window managers (Hyprland, Sway, i3), shells (zsh, fish, nushell), terminal emulators (Kitty, Alacritty, Foot), desktop environments (Plasma, GNOME). So I kept those as curated extras that get deduped against the AppStream data. Net result: 1,275 unique packages across 16 categories.
New: recommended.txt — curl it, pipe it, install it.
curl -sfL https://git.disroot.org/hirrolot19/trending-linux-packages-data/raw/branch/main/recommended.txt \
| head -100 | sudo pacman -S --needed -
All 1,275 packages ranked by a score that balances popularity percentile + growth slope percentile (default 1:1). Pipe through head -N to pick your count. The scoring is trivial to tweak:
TOP_N=50 SLOPE_WEIGHT=2 python3 src/collector.py
The math is still naive though. Right now it’s just pop_percentile * w1 + slope_percentile * w2 — which works but ignores a bunch of things that would make the rankings smarter:
- A package at 1% popularity with +0.8 slope is clearly an emerging tool, but the percentile system buries it because it’s in the bottom decile for popularity
- Seasonality isn’t modeled — some packages spike in December (games on sale, new devs on winter break) and that looks like a trend
- No confidence interval on the slope — a package with 3 data points gets the same treatment as one with 7
- No penalty for high variance — a package that bounces wildly isn’t the same as one that’s steadily climbing
I’d love PRs or issues discussing better scoring functions. The recommendation config is the first 5 lines of the collector — easy to experiment with. If you’ve done work on ranking with sparse time-series data, I’d especially appreciate input.
What the data is showing right now:
The top 10 recommended packages by combined score: cmake, mpv, qt6-tools, pavucontrol, v4l-utils, firefox, steam, clang, jdk-openjdk, vim. These are packages that are both very widely used AND gaining users — solid picks for any new system.
Top gainers (pure slope): mpv (+2.80 pts/mo), cmake (+2.51), qt6-tools (+2.41), pavucontrol (+2.22), nvtop (+2.22). The Wayland-adjacent tooling wave is real.
Project links:
- Code + collector: https://git.disroot.org/hirrolot19/trending-linux-packages
- Auto-updated data: https://git.disroot.org/hirrolot19/trending-linux-packages-data
#programming
threaded - newest
What’s the point of installing all the most popular packages? Just install what you need.
Some kind of ninite for Linux