Codebase list python-popcon / run/331675f4-a6c6-4500-b49f-414efd722105/main
run/331675f4-a6c6-4500-b49f-414efd722105/main

Tree @run/331675f4-a6c6-4500-b49f-414efd722105/main (Download .tar.gz)

# python-popcon

Get Debian [popularity contest](https://popcon.debian.org/) values for given
packages.


## Installation

```bash
$ pip install popcon
```


## Usage

The usage of this module is easy:

```python
>>> 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`.

```python
>>> 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
```