This is a hacky collection of scripts to create visualizations and hopefully insight from contributor-triggered activity on Fedora's messaging bus, via the "datagrepper" service.
Results are currently run on a personal system belonging to Matthew Miller, and published weekly there: https://mattdm.org/fedora/fedora-contributor-trends/
There's also a text report: https://mattdm.org/fedora/fedora-contributor-trends/report.txt
You may also want to watch talk at DevConf 2016 where these metrics were first presented: https://mattdm.org/fedora/2016devconf/
To get started you must have python3
installed, after that, clone this repo and follow the instructions below:
Linux/MacOS
python3 -m venv .venv source .venv/bin/activate
Windows
python3 -m venv .venv .venv/bin/activate.bat
pip install -r requirements.txt
./run.sh
Note that this will try to gather data going back to the beginning of the message bus, which is a long time and a lot of data, and it hits the service pretty hard in doing so. The weekly data is therefore cached, so on later runs only the last week is re-loaded. The first run may time out a lot and even take several days to finish. This isn't ideal, of course, but it got me up and running. See this issue for ideas on how this bootstrap might be made better.
Anyway, you'll see that theme a lot here -- this started as a sysadmin-hack kind of project, not an elegant software-engineer one.
But that's not the end! I'd love for this to be better. In fact, there are six main areas looking for improvement:
Any or all of these things would be a huge improvement.
I originally designed this to answer these questions:
Some things that aren't well-explored but could be:
One thing that's an explicit non-goal: anything that is easily tied to a specific individual in the results, except maybe for very high level totals.
Before you push any changes or improvements remember in order to follow the rules PEP8 you must run the style code tools
flake8
all project
flake8 .
or a single file
flake8 my_python_file.py
NOTE you must resolve any errors that show flake8
black
all project
black .
or a single file
black my_python_file.py
More? See https://pagure.io/fedora-contributor-trends/issues!