Skip Navigation

I built a tool that tracks which Linux packages are actually trending (not just "what's new") — data from 30K+ Arch users

git.disroot.org

trending-linux-packages-data

I got tired of guessing which terminal emulator or window manager people are actually migrating to, so I built a tool that answers it with real data.

How it works

The pkgstats.archlinux.de API tracks monthly install counts from ~30K+ voluntary submissions. I wrote a collector that:

  1. Fetches 6 months of monthly popularity data for 173+ packages across 9 categories (Browsers, Editors, Window Managers, Terminal Emulators, etc.)
  2. Computes a linear regression slope (percentage points gained/lost per month) for each package
  3. Ranks and outputs the results as markdown + JSON

What's actually trending right now

#PackageCategorySlope (pts/mo)
1firefoxBrowsers+1.57
2clangSystem Languages+1.53
3vimEditors+1.50
4hyprlandWindow Managers+1.44
5kittyTerminal Emulators+1.42
6neovimEditors+1.30
7footTerminal Emulators+1.29
8dolphinFile Managers+0.97
9plasma-workspaceDesktop Environments+0.95
10nemoFile Managers+0.88

Firefox gaining hard (62% → 71%). Hyprland absolutely exploding (14% → 22%). Kitty and Foot both crushing it in terminals. Wayland-adjacent packages dominating the top.

The fallers: xterm (-0.51), gnome-terminal (-0.37), i3 (-0.28), Pidgin (-0.23). The terminal space is in the middle of a real generational shift.

The not-so-surprising but still interesting

  • vi appears to be crashing (-7.55 pts/mo) — but it's an artifact: the vi package is just a symlink that recently switched to a new provider, so pkgstats records it as a different entity now.
  • Plasma Desktop growing faster than GNOME (+0.95 vs -0.27).
  • Discord growing but Telegram and Signal both gaining too — the IM space is getting more fragmented, not less.

Project structure

  • Code repo — Python collector, categories config, push scripts
  • Data repo — Auto-updated results via cron (every 6h)

The data is in two formats: TRENDING.md (readable tables) and trending.json (structured, machine-parseable). Categories come from the curated lists the pkgstats website uses for its "Fun Statistics" page.

Caveats

  • The data only represents Arch Linux users who opt into pkgstats — not a representative sample of all Linux users
  • Categories are curated (not automatic), so I'm only tracking ~173 packages across 9 categories right now
  • Slope is a simple OLS linear regression — it shows direction but doesn't model seasonality

Would love PRs to add more categories or improve the math. The whole thing is just one Python file.

11 comments
11 comments