15

I'd like to know how many downloads of a given package in a PPA there have been since it was first published.

I remember there was a bug about it about getting these metrics on the web UI, but as far as I know, it never got implemented.

But I think the number of downloads can nevertheless be obtained via the Launchpad API if I'm the owner of that PPA. Any pointers?

17

Check out this script:

#!/usr/bin/python2

# Usage python ppastats.py PPATEAM (ex: webupd8team) PPA (ex: gthumb) DIST (Ubuntu version eg maverick) ARCH (ubuntu arch eg i386 or amd64)
# Example - highest downloaded file: python ppastats.py webupd8team y-ppa-manager maverick amd64 | tr '\t' ',' | cut -d ',' -f3 | sort -gr

import sys
from launchpadlib.launchpad import Launchpad

PPAOWNER = sys.argv[1]
PPA = sys.argv[2]
desired_dist_and_arch = 'https://api.launchpad.net/devel/ubuntu/' + sys.argv[3] + '/' + sys.argv[4]

cachedir = "~/.launchpadlib/cache/"
lp_ = Launchpad.login_anonymously('ppastats', 'production', cachedir)
owner = lp_.people[PPAOWNER]
archive = owner.getPPAByName(name=PPA)

for individualarchive in archive.getPublishedBinaries(status='Published', distro_arch_series=desired_dist_and_arch):
    x = individualarchive.getDownloadCount()
    if x > 0:
        print individualarchive.binary_package_name + "\t" + individualarchive.binary_package_version + "\t" + str(individualarchive.getDownloadCount())
    elif x < 1:
        print '0'

To use it:

python ppastats.py webupd8team themes natty i386
1

You can generate an HTML report containing statistics and graphs about download counts of a PPA with ppastats (http://wpitchoune.net/blog/ppastats/).

Here is an example: http://wpitchoune.net/ppastats/ppa/otto-kesselgulasch/gimp/.

If you are using Ubuntu, you can install it by using the PPA ppa:jfi/ppastats:

sudo apt-add-repository ppa:jfi/ppastats
sudo apt-get update
sudo apt-get install ppastats

Then to generate the HTML report:

ppastats [PPA_OWNER] [PPA_NAME] -o [OUTPUT_DIR]
  • 1
    There is no vivid package available yet :/ – Seth Sep 15 '15 at 13:59
  • ppastats is compiling fine on vivid, at least the version 1.3.3 (wpitchoune.net/ppastats/files/ppastats-1.3.3.tar.gz). The ubuntu packaging too, it can be built with git-buildpackage from the following git repository: git.wpitchoune.net/psensor-pkg-ubuntu.git. I will probably upload it publically at some point. – JeanFI Sep 16 '15 at 21:34
  • I just installed the last available binary package, worked fine. You realize you could just have Launchpad rebuild the package for a newer release for you? – Seth Sep 18 '15 at 2:23
  • There's no yakkety package :( – Seth Dec 18 '16 at 6:41
  • As of today, the count on this ppa for xenial i386 is 1. There is a reputation aspect to knowing the count b4 installing a package that this doesn't pass well.... just sayin' – Rondo Jun 26 '17 at 20:24
1

From the jfi/ppastats package, I managed to figure out how the API worked, and I made a userscript (Greasemonkey/Tampermonkey), that will neatly list the download count next to your packages. Make sure to go to the "View all builds" view, to which there is two links added in your package details. Patches for improvements are welcome!

  • whut? How does this work? How is this simpler than the accepted answer? – Kaz Wolfe Sep 26 '14 at 8:02
  • It's a cross platform script that you run in your browser with either the Greasemonkey extension (Firefox) or the Tampermonkey extension (Chrome). I would say that it is simpler. – stefansundin Sep 26 '14 at 17:21
  • Where are the download counts? I see "view download counts" but when I click that I don't see them anyway on the page.. – Seth Oct 3 '14 at 16:51
  • Strange. I tested the latest version with both Firefox and Chrome (Greasemonkey and Tampermonkey). Try going to my PPA (which is the one I made it for): launchpad.net/~stefansundin/+archive/ubuntu/truecrypt/… It may have some problems with an archive that has been copied between ubuntu versions, in which case you may see a spinner that never goes away. I'll try to solve this in a later version. – stefansundin Oct 4 '14 at 23:54
  • Yes, going to your PPA works, but mine shows absolutely nothing. It is entirely possible no one has downloaded it yet, but ppastats seems to contradict that: paste.ubuntu.com/8752766 (Sorry I didn't reply earlier, but you didn't @ include me so I didn't see it until now) – Seth Oct 30 '14 at 22:58
0

There is another python script available at:

https://bugs.launchpad.net/launchpad/+bug/139855/comments/66

DL: https://bugs.launchpad.net/launchpad/+bug/139855/+attachment/3217345/+files/ppastats

usage: ppastat.py [-h] [--all] [--arch ARCH] user [ppa [ppa ...]]

  • Welcome to AskUbuntu! Although this may possibly answer the question, there are no real explanations, and this might be better off as a comment. – No Time Oct 15 '14 at 4:36
  • Does it require any special dependencies? Here on Trusty it fails with a IndexError: list index out of range error. – landroni Nov 28 '15 at 15:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.