retoor d1594ed798 feat: add dataset export command and contributions views with user stats aggregation
Add dr.dataset console script entry point and implement dump function in new dataset module. Create SQL views for contributions, contributions_extended, rants_of_user, and posts_of_user in db.py to aggregate user activity metrics. Update Makefile with sync, export_stats, and export_dataset targets. Add timeout parameter to HTTP requests in devrant.py and remove demo code. Extend README with usage instructions for environment setup and available dr.* commands.
2024-11-23 18:56:52 +00:00

dRStats

About

Simple project to determine health of the devrant platform. Also, it will generate a dataset to be used with machine learning. Make Retoor9b great again!

Credits

Thanks to Rohan Burke (coolq). The creator of the dr api wrapper this project uses. Since it isn't made like a package, i had to copy his source files to my source folder. His library: https://github.com/coolq1000/devrant-python-api/

Using this project

Prepare environment

Create python3 environment:

python3 -m venv ./venv

Activate python3 environment:

source ./venv/bin/activate

Make

You don't have to use more than make. If you just run make all statistics will be generated. It will execute the right apps for generating statistics.

Applications

If you type dr. in terminal and press tab you'll see all available apps auto completed. These applications are also used by make.

1. `dr.sync` synchronizes all data from last two weeks from devrant. Only two weeks because it's rate limited.
2. `dr.dataset` exports all data to be used for LLM embedding., don't forget to execute `dr.sync` first.
3. `dr.rant_stats_all` exports all graphs to export folder, don't forget to execute `dr.sync` first.
4. dr.rant_stats_per_day` exports graphs to export folder. don't forget to execute `dr.sync` first.
5.dr.rant_stats_per_hour` exports graphs to export folder. don't forget to execute `dr.sync` first.
6. dr.rant_stats_per_weekday` exports graphs to export folder. don't forget to execute `dr.sync` first.
S
Description
Project for generating detailed statistics in both text and graphs. Also it generates a dataset for use in LLM embedding (chromadb for example).
Readme
865 MiB
Languages
Python 95.8%
Makefile 4.2%