python-popcon

Python interface to Debian's popularity contest database


Keywords
debian, popcon, popularity, contest, cli, python
License
GPL-2.0
Install
pip install python-popcon==3.0.3

Documentation

python-popcon

Get Debian popularity contest values for given packages.

Installation

$ pip install popcon

Usage

The usage of this module is easy:

>>> import popcon
>>> popcon.packages(['reportbug-ng'])
{'reportbug-ng': 323}
>>> popcon.packages(['reportbug-ng', 'reportbug'])
{'reportbug-ng': 323, 'reportbug': 75065}

The raw data (vote, old, recent, no-file) is also available, the sum of the raw numbers is the number of installations as reported by popcon.package.

>>> popcon.packages_raw(['reportbug-ng', 'reportbug'])
{'reportbug-ng': Package(vote=50, old=187, recent=86, no_files=0),
 'reportbug': Package(vote=5279, old=59652, recent=10118, no_files=16)}

Behind the scene popcon will try to use cached information saved in a file in the ~/.cache/popcon directory. If the relevant file is not available, or older than EXPIRY seconds (default is 7 days) it will download fresh data and save that.

The cached data will be kept in memory unless KEEP_DATA is set to False.

Command Line Interface

popcon reportbug python
             PACKAGE VALUE
           reportbug 180558
              python 110709

it also supports a more verbose mode on the command line:

popcon --verbose reportbug python
             PACKAGE VOTE       OLD        RECENT     NO FILES
           reportbug 5929       149243     25315      71
              python 3985       103591     3066       67