Commit Graph

44 Commits

Author SHA1 Message Date
bot
cb3bc1c45d feat: update export statistics with new user data and extended date range for graphs
Regenerate export files (dataset, statistics, mentions) with 146 active users and 4778 total contributions, reflecting new user activity and updated rankings. Add new comments-per-day, comments-per-hour, and comments-per-weekday graphs covering the period from 2024-11-07 to 2024-12-06, and remove the old dataset.txt file.
2024-12-06 22:13:39 +00:00
f2830de25d fix: add missing await to asyncio.wait_for call in get_recent_rants
The `asyncio.wait_for` call was missing an `await` keyword, causing the coroutine to be returned instead of awaited. This fix ensures the function properly awaits the executor result with the 15-second timeout.
2024-12-03 04:57:48 +00:00
0d7ff2a0d1 fix: correct typo in devRant community string and remove image show call
- Fix spelling of "community" in the mention count output string
- Remove the redundant `new_image.show()` call at the end of merge_images.py
2024-12-03 03:34:56 +00:00
522465e0f8 fix: increase timeout from 5 to 15 seconds for executor call in get_recent_rants
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.
2024-12-03 03:31:21 +00:00
95e266c7cb fix: pass explicit None executor to run_in_executor for get_rants 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.
2024-12-03 03:31:06 +00:00
13bcd5d6af fix: add missing GROUP BY clause to rants_of_user and posts_of_user views
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.
2024-12-03 03:21:25 +00:00
3853d78c6b fix: correct typo in Makefile export_stats echo message from 'statisticts' to 'statistics' 2024-11-26 17:15:45 +00:00
7f19248052 chore: remove deprecated sync_excempt target and switch export_stats to dr.stats
- 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
2024-11-26 08:28:21 +00:00
35a3139428 style: remove unnecessary parentheses and trailing whitespace across multiple drstats modules 2024-11-26 08:22:24 +00:00
73a1aa168b chore: fix typo in README link text and consolidate drstats CLI entry points 2024-11-26 08:21:46 +00:00
bot
a8016bab1c chore: update export dataset with 3 new contributions and refreshed graphs for 2024-11-07 to 2024-11-25
- 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
2024-11-25 22:50:22 +00:00
95d7c2cb78 feat: rename rank_appreciation column to rank_by_appreciation_based_on_upvotes_per_message in contributions_extended_ranked view and update dataset.py dump function to use new column name 2024-11-25 21:35:16 +00:00
1dad2d804a fix: rename rank column to rank_appreciation in contributions_extended_ranked view and update dataset.py reference
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.
2024-11-25 21:31:20 +00:00
600ed88efc feat: rename upvote_ratio column to upvotes_per_post_on_average in contributions_extended view
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.
2024-11-25 20:24:06 +00:00
66155ce6a6 chore: bump package version to 1.3.37 and declare runtime dependencies in PKG-INFO
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.
2024-11-25 19:48:02 +00:00
2f3a4431b6 fix: re-add sync target to Makefile all and fix asyncio loop reference in get_recent_rants
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.
2024-11-25 19:44:33 +00:00
a6fd640e92 feat: make get_recent_rants async by wrapping dr.get_rants in run_in_executor with 5s timeout 2024-11-25 19:39:06 +00:00
c32c59dd2a fix: restore accidentally deleted __main__ and __init__ module files
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.
2024-11-25 19:28:59 +00:00
5025647f04 chore: remove stale pycache files and add asyncio timeout to sync loop
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.
2024-11-25 19:27:39 +00:00
2657c83053 fix: handle missing comments key when syncing rants with no comments
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.
2024-11-25 19:19:22 +00:00
bot
81c5d77676 chore: remove dependency list and add platform metadata placeholders in PKG-INFO for drstats 1.3.37
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.
2024-11-24 07:44:38 +00:00
8f86fc8112 fix: correct dataset dump and db queries to handle multiple user records 2024-11-24 07:39:56 +00:00
b5103f45f1 fix: remove newline and whitespace stripping from user rants and posts in dataset dump 2024-11-24 07:10:21 +00:00
bot
1910548ee0 chore: remove dependency metadata and add UNKNOWN placeholders in PKG-INFO for drstats 1.3.37
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.
2024-11-24 07:07:40 +00:00
04e61f8a56 feat: add raw query results to json export for each view using new Db context manager 2024-11-24 07:02:32 +00:00
c59085db6a fix: correct indentation of view export loop inside dump function 2024-11-24 06:38:33 +00:00
7ec7ae8646 feat: add view export functionality and refactor contributions query to use named view
Introduce a new `get_views()` function in db.py that queries the sqlite_schema for user-defined views, and add a loop in dataset.py to export each view's query results as a JSON file. Also create a persistent `contributions_extended_ranked` view to replace the inline subquery in `get_contributions()`, and refactor `get_users()` to use a direct DISTINCT query instead of deduplicating in Python.
2024-11-24 06:38:17 +00:00
e5e5dd3aca fix: correct f.write argument in dataset.py dump function to close code block properly 2024-11-24 06:17:50 +00:00
7040fe5797 fix: correct string concatenation in dataset.py write calls for user and text 2024-11-24 06:16:36 +00:00
1414d1e116 fix: add missing commas in print and f.write calls for dataset export formatting 2024-11-24 06:15:17 +00:00
31b792bde2 feat: add rank column to user stats and format score with commas in display
Implement rank calculation based on total score ordering and format score values with thousands separator for improved readability in the user statistics view.
2024-11-24 06:13:53 +00:00
9497cde9c8 feat: add export_statistics and export_mentions make targets with dataset prefix markers
Add two new Makefile targets for exporting statistics and mentions data from the dataset file, each prefixed with "===" markers in the dataset.py dump function to enable clean grep extraction. The export_statistics target filters lines containing "Statistics:" while export_mentions filters lines containing "times ment", both writing results to separate export files.
2024-11-24 06:09:50 +00:00
bot
f06382c373 feat: add per-user contribution stats export and update PKG-INFO with retoor9b reference
Generate export/0_dataset.txt containing per-user contribution counts, percentages, and average post lengths for all 100 active ranters. Update PKG-INFO description to reference retoor9b AI hype and adjust dataset link path from dataset.txt to 0_dataset.txt.
2024-11-23 20:16:08 +00:00
bot
2064809545 chore: update drstats package to v1.3.37 with refreshed export dataset and PKG metadata
Bump package version from 0.1.1 to 1.3.37 in PKG-INFO, update author email to retoor@molodetz.nl, and replace generic project description with detailed build automation notes and export links. Regenerate binary wheel and source distribution artifacts alongside updated export graphs compilation and dataset text file with revised user contribution statistics.
2024-11-23 20:03:37 +00:00
c84e34be26 chore: pin dependency versions and add requests library to setup.cfg and egg-info 2024-11-23 19:29:56 +00:00
7177c356f2 fix: normalize SQL formatting and remove duplicate DROP VIEW in user_stats view creation 2024-11-23 19:20:16 +00:00
9b195fcb48 style: fix whitespace formatting and trailing newlines across multiple Python files 2024-11-23 19:17:01 +00:00
26d883e0cb feat: add CI workflow, clean target, and fix user_stats view with deduplicated columns
Add .gitea/workflows/export.yaml for automated build on push, introduce `clean` target in Makefile to recreate export directory, remove stale `dump_text.py` from SOURCES.txt, and correct duplicate column definitions in the `user_stats` SQL view creation inside db.py.
2024-11-23 19:07:19 +00:00
768477df2a feat: add merge_images script, dataset module, and rename dr.rant_stats_all to dr.stats_all
Add new merge_images.py script that compiles all exported PNG graphs into a single composite image with 2-column layout and 480x320 per-image sizing. Introduce drstats/dataset.py with dump() function that outputs per-user contribution statistics and all rants/posts for LLM embedding. Rename the console script entry point from dr.rant_stats_all to dr.stats_all across setup.cfg, entry_points.txt, README.md, and PKG-INFO. Update Makefile to replace sync with sync_excempt target, add merge_images target, and add prerequisite reminders for export targets. Refactor db.py view creation queries to use compact string formatting. Redirect Duration class timing output and dataset.py printr calls to stderr.
2024-11-23 18:56:52 +00:00
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
507a8dcaeb feat: add dr.rant_stats_all command and comment/score views to database schema 2024-11-23 18:56:52 +00:00
12a93eccb5 chore: add credits section to README and replace pirant dependency with matplotlib
- Add credits section acknowledging Rohan Burke (coolq) for the devrant API wrapper
- Remove pirant dependency from setup.cfg and add matplotlib>=3.9.2
- Add new console scripts for sync and per-day/weekday/hour statistics
- Add new source files: db.py, devrant.py, sync.py, and updated statistics.py
- Include binary database file drstats.db and compiled Python cache files
2024-11-23 18:56:52 +00:00
0ad7c0cf51 chore: add dataset and pirant dependencies, rename console script entry point to dr.rant_stats
Add dataset>=1.6.2 and pirant>=0.1.4.dev1 (via git URL) to install_requires in setup.cfg.
Rename the console_scripts entry point from 'utro = drstats.statistics:rant_stats' to 'dr.rant_stats = drstats.statistics:rant_stats'.
Update egg-info metadata files (PKG-INFO, requires.txt, entry_points.txt, SOURCES.txt, top_level.txt) to reflect new dependencies and package structure.
2024-11-23 18:56:52 +00:00
c32565621d feat: scaffold drstats project with setuptools build, gitignore, and utro CLI entry point
Initialize the dRStats repository with core project structure: add .gitignore excluding dist and venv directories, create Makefile for pip-based build and editable install, write README.md describing the devrant health monitoring purpose, define pyproject.toml using setuptools build backend, configure setup.cfg with metadata (name drstats, version 0.1.1, MIT license, aiohttp dependency) and console_scripts entry point mapping 'utro' to drstats.statistics:rant_stats, and include generated egg-info metadata files.
2024-11-23 18:56:52 +00:00