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.
This commit is contained in:
2024-11-23 18:56:52 +00:00
parent 507a8dcaeb
commit d1594ed798
16 changed files with 157 additions and 59 deletions
+24
View File
@@ -16,8 +16,32 @@ Requires-Dist: matplotlib>=3.9.2
## 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.