Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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?

share|improve this question

2 Answers 2

up vote 12 down vote accepted

Check out this script:

#!/usr/bin/python

# 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

share|improve this answer

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]
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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