reddit / emacs

Are there statistics on how popular are the various MELPA packages?

Status-Detective-783 · 2022-02-27 22:04
I know any such statistics would be rough, just wondering if there's a way to see something like this. ___ EDIT: Answered by /u/yyoncho: "You can sort by downloads on melpa.org". So here's an example of how I'm using it. As an emacs newbie, I'm interested in installing some package, let's say ido mode, but I'm also interested in the dozen or so related packages (containing "ido-"). But it's hard to get a sense of their popularity, age, etc. So I downloaded the list of all packages from melpa.org, sorted by download count, and made it into a tab-delimited file: [Here's the gist link to my text file.](https://gist.github.com/CoolHandLouis/3f273a9eba9e9be07c91ee497f541b79). Then I grep that to get only the "ido-" packages: Download count Name Description Release Repository "482,602" smex M-x interface with Ido-style fuzzy matching. 20151212.2209 github "290,389" ido-vertical-mode Makes ido-mode display vertically 20210205.436 github "147,639" ido-completing-read+ A completing-read-function using ido 20210529.1318 github "12,983" ido-at-point ido-style completion-at-point 20151021.757 github "8,544" ido-hacks Put more IDO in your IDO 20190206.2153 github "4,178" ido-yes-or-no Use Ido to answer yes-or-no questions 20161108.2351 github "4,054" ido-grid-mode Display ido-prospects in the minibuffer in a grid. 20160122.1139 github "3,303" ido-complete-space-or-hyphen Allow spaces to also match hyphens in ido 20210206.1505 github "2,800" ido-select-window Select a window using ido and buffer names 20131220.2047 github "2,613" ido-sort-mtime Sort Ido's file list by modification time 20171121.859 github "2,357" ido-load-library Load-library alternative using ido-completing-read 20140611.1600 github "1,708" ido-gnus Access gnus groups or servers using ido 20140216.1646 github "1,502" ido-occasional Use ido where you choose. 20150214.1248 github "1,094" ido-migemo Migemo plug-in for Ido 20191017.1919 github 986 ido-exit-target Commands and keys for selecting other window and frame targets within ido 20170717.1851 github 984 ido-springboard Temporarily change default-directory for one command 20170106.755 github 936 ido-skk ido interface for skk henkan 20151111.950 github 445 ido-flex-with-migemo use ido with flex and migemo 20190408.350 github This gives me a rough idea of which packages I might be interested in exploring. At least, I might want to prioritize looking at the top packages before the less downloaded packages. I can also see when a package was last updated. I know this isn't a perfect system, but it at least gives me one way to slice and dice things! EDIT: That certainly doesn't mean less popular packages or even older packages are bad. Many less-popular packages provide very useful niche services, or complement the more popular packages.
yyoncho · 2022-02-27 22:13
You can sort by downloads on melpa.org
Status-Detective-783 · 2022-02-27 22:59
Thanks!
nv-elisp · 2022-02-27 23:13
I wouldn't consider that an indication of popularity. You'd have to account for the amount of time the package has been available on MELPA as well. Even that only gives a rough idea.
fragglestickcar0 · 2022-02-27 23:30
> I wouldn't consider that an indication of popularity. Of course it is. There is no doubt, except from perhaps someone trying to promote an alternative distribution scheme, that MELPA's download count is the *de facto* popularity metric. It applies aggressively arbitrary rules (like only incrementing for each unique IP and emacs version pair or some such), periodically stops incrementing, and is prone to spurious counts from automated testers, but MELPA is the only outfit in the emacsverse publishing telemetry -- to the joy of package writers and the chagrin of privacy zealots.
github-alphapapa · 2022-02-28 01:07
See also: https://github.com/alphapapa/melpa-stats
ideasman_42 · 2022-02-28 01:41
There are a few exceptions to this: - Middle ware (libraries), which may be dependencies, for example - for a long time evil depended on undo-tree even if users disabled it. - Packages that are used by distributions ( ~~doom~~ / spacemacs), people may be getting these packages as part of a bundle which they personally aren't making use of. - Packages that were popular but are no longer. It'd be interesting to know about downloads in the past N days.
nv-elisp · 2022-02-28 03:20
Packages which are used by DOOM aren't even counted, because it uses straight.el to manage packages.
ideasman_42 · 2022-02-28 04:23
Thanks, good to know (and crums! as doom uses some of my packages :) ).
xtifr · 2022-02-28 06:53
Incrementing for each unique IP/version pair would count me as either two or four, I think, since I have my work desktop, my home desktop, and my laptop which I use from both work and home. Oh, and I've upgraded versions many times over the years, so that would bump my personal count even higher. And I may have updated my laptop while house-sitting for a friend, so score me one more! I guess I'm legion and contain multitudes? :) Melpa's stats are probably the best indicator we've got, but that doesn't mean they can be taken at face value.
xtifr · 2022-02-28 06:59
Not to mention all the packages bundled with various Linux distros. Debian seems to have nearly 400 emacs packages that can be installed from *their* repositories via apt-get.
wasamasa · 2022-02-28 09:55
You could install paradox to see GitHub stars, that might be a slightly more accurate popularity metric. Note that this won't work for packages not hosted on GitHub, such as mine ever since I switched to self hosting them.
Status-Detective-783 · 2022-02-28 18:59
Good idea, thanks!