aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 0da7ad78836ac1694859573060798c03f4921f34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Qt Project

Dash application behind the `qt-project.org` website.

Currently there are two main goals that this page wants to achieve:

  1. Help people contribute to Qt,
  2. Show statistics about the project.

## Setup

Create a new Python virtual environment and install the requirements:

```
python -m venv env        # might be 'python3' depending on your system

source env/bin/activate   # macOS/Linux
env\Scripts\activate.bat  # windows

pip install -r requirements.txt
```

## Getting and processing the data

The `data/` directory contains a script to get the information
from a local `qt5.git` repository, and you can use it like this:

```
python get_data.py --qt /path/to/my/qt5.git
```

this will generate many `<module>.csv` files with the following columns

```
date;sha;name;original_email;email;domain;files_changed;insertions;deletions
```

Currently, there are also two external repositories being cloned, and used
inside the `qt5.git`, the Qt Creator and PySide repositories.

> The difference between `original_email` and `email` is because many old
> Nokia, Digia, theqtcompany emails were transformed into `@qt.io`.

## Starting the application

The website is based on a framework called [Dash](https://plotly.com/dash/),
which enables the creation of Dashboard.

We also rely on text-based information. There are `markdown` files
which contains the information displayed on the left-columns, like `guidelines.md`
and `contribute.md`.

To start the application, run:
```
python app.py
```

which you can verify on [http://localhost:8050](http://localhost:8050).

Additionally, there is a `Procfile` to enable the site to be deployed
on servers compatible with [gunicorn](https://gunicorn.org/).