The timeout passed to asyncio.wait_for for the run_in_executor call fetching rants was raised to 15 seconds to accommodate slower responses from the underlying dr.get_rants API call.
The diff shows a single change in `src/drstats/sync.py` where `loop.run_in_executor(get_rants)` is corrected to `loop.run_in_executor(None, get_rants)`, adding the required `None` argument for the executor parameter to match the asyncio API signature.
The rants_of_user and posts_of_user views were missing a GROUP BY clause on the username column, causing the GROUP_CONCAT aggregations to produce incorrect concatenated results across all rows instead of per-user groupings. This fix adds the required GROUP BY username to both view definitions, ensuring each user's rants and comments are properly aggregated into separate rows.
- Bump active user count from 102 to 103 and total contributions from 2623 to 2625 in export/0_dataset.txt
- Add new score chart for user ChaosInHeaven and update existing user score charts
- Extend posts-typosaurus.txt with additional conversation lines
- Refresh all export graphs and JSON statistics files with latest data
The workflow previously only triggered on push events. This change adds a
scheduled trigger using a cron expression that runs every 30 minutes,
enabling periodic execution of the export statistics job independently
of code pushes.
Regenerate all export files including 0_dataset.txt with total contributions increased from 2567 to 2623 and average per user from 25.17 to 25.72; append 94 new lines of conversation data to posts-typosaurus.txt covering chatgpt/retoor/antigermanist interactions; rebuild all per-user score graphs and the graphs compilation png for the 2024-11-07 to 2024-11-23 period; update drstats.db and wheel/source distributions to version 1.3.37.
Update all 20 user score PNGs, comments-per-day/hour/weekday graphs, and the compilation graph with fresh data from the drstats.db database. Add newly generated posts-typosaurus.txt containing 3117 lines of exported forum posts. Bump wheel and tarball to version 1.3.37.
- Increment active user count from 101 to 102 and total contributions from 2550 to 2557 in export/0_dataset.txt
- Refresh all export graphs (comments per day/hour/weekday, score per user/period) with data spanning 2024-11-07 to 2024-11-23
- Update view-comment_stats_per_hour.json with adjusted counts for hours 10, 11, 13, 14
- Rebuild dist/drstats-1.3.37 wheel and tarball, and update drstats.db binary
- Delete the sync_excempt Makefile target that was stubbed with a timeout warning
- Change export_stats to call dr.stats instead of dr.stats_all
- Remove extraneous blank lines in Makefile for cleaner formatting
- Refresh binary distribution files drstats-1.3.37-py3-none-any.whl and drstats-1.3.37.tar.gz
- Update drstats.db database with latest aggregated statistics
- Regenerate all export graphs and JSON stats files for the period 2024-11-07 to 2024-11-23
- Append new posts-retoor.txt entries including async Rust concurrency discussion with gist reference
- Incremented total contributions from 2521 to 2524 in 0_dataset.txt
- Updated average contribution per user from 24.96 to 24.99
- Added new posts-retoor.txt entries including async Rust concurrency discussion
- Refreshed all export PNG graphs (comments per day/hour/weekday, score charts)
- Updated view-comment_stats JSON files with new data through 2024-11-25
- Rebuilt drstats-1.3.37 wheel and source distribution packages
- Updated drstats.db database with latest statistics
This commit extends the README with a detailed analysis of a specific user (neo), including rank, contributions, ownership metrics, upvote statistics, and post length data. The new section provides anonymized insights into individual user behavior within the forum dataset, complementing the existing community-level statistics.
- Regenerate export/0_dataset.txt with updated user contribution percentages and average post lengths
- Refresh all PNG graphs in export/ directory with latest comment and score data
- Update JSON statistics files (view-comment_stats_per_day.json, per_hour.json, per_weekday.json) with new counts for 2024-11-24 and 2024-11-25
- Bump dist/ package versions to drstats-1.3.37 with rebuilt .whl and .tar.gz
- Append new posts to export/posts-retoor.txt including discussion on Gitlab vs Gitea CI runners and devRant statistics explanation
Rename the popularity rank column from 'rank' to 'rank_appreciation' in the SQL view
contributions_extended_ranked to make its meaning clearer. Update the corresponding
reference in dataset.py's statistics text generation to use the new column name.
- Increment total contributions count in export/0_dataset.txt from 2515 to 2518
- Adjust average contributions per user from 24.9 to 24.93
- Update binary export artifacts (whl, tar.gz, graphs, JSON stats) to reflect latest database state
- Refresh comment statistics JSON files with new counts for hour 20 (126→129) and updated weekday aggregations
Update the SQL view definition to replace the ambiguous `upvote_ratio` column name with the more descriptive `upvotes_per_post_on_average`, and update the ranked view to order by the new column name instead of the old one.
- Increment active user count from 100 to 101 and total contributions from 2389 to 2515 in export/0_dataset.txt
- Append 425 new lines of user posts to export/posts-retoor.txt
- Regenerate all binary export files including graphs, score charts, and compiled statistics images
- Update drstats.db database and rebuild dist packages to version 1.3.37
Update PKG-INFO metadata to remove UNKNOWN placeholders for Home-page and Platform fields, and add explicit Requires-Dist entries for aiohttp, dataset, matplotlib, and requests. Also trim trailing blank lines from the description section.
The Makefile's `all` target was missing the `sync` step, which has now been restored alongside a fix in `src/drstats/sync.py` where `asyncio.wait_for` incorrectly called `asyncio.run_in_executor` instead of the proper `loop.run_in_executor` to avoid event loop context errors during async execution.
The __main__.py and __init__.py files were inadvertently removed during a previous cleanup operation. This commit restores both files to their original state, ensuring the package can be properly executed as a module and imported as a package.
Remove all compiled Python cache files from the drstats package directory to prevent stale bytecode issues. Refactor the sync_rants function by extracting the rant processing logic into a private _sync_rants helper and wrap it with asyncio.wait_for using a 5-second timeout to handle rate-limited API responses gracefully, breaking the loop on timeout exceptions.
The previous code assumed every rant returned from the API would have a "comments" key, causing a KeyError crash when iterating over rants that had zero comments. This fix uses `.get("comments", [])` to safely default to an empty list, allowing the sync loop to continue without interruption.
The diff shows removal of Requires-Dist entries for aiohttp, dataset, matplotlib, and requests from PKG-INFO, along with addition of Home-page: UNKNOWN and Platform: UNKNOWN fields, plus trailing newlines in entry_points.txt.
The diff shows removal of Requires-Dist lines for aiohttp, dataset, matplotlib, and requests from PKG-INFO, along with addition of Home-page: UNKNOWN and Platform: UNKNOWN fields, plus trailing newline adjustments in entry_points.txt.
Add raw query results for user contributions, mention counts, individual user posts, and view-comment statistics exported as text and JSON files under the export/ directory.