Last week, we had a Indic Wikisource Proofreadthon 2020 event. see here for full details
https://meta.wikimedia.org/wiki/Indic_Wikisource_Proofreadthon_2020
Though I did not participated in this event, (feels sad for this. Life is too messy nowadays), I thought to build a small tool to give report on any wikipedia user’s contribution on given wikisite for a given date range.
It may help to calculate, measure, decide on the contributions for such competitions.
Mediawiki has a good API to fetch user contribuions. https://www.mediawiki.org/wiki/API:Usercontribs
Get all edits by a user. https://www.mediawiki.org/wiki/Special:MyLanguage/API:Usercontribs
uclimit
The maximum number of contributions to return. Type: integer or max The value must be between 1 and 500.ucstart
The start timestamp to return from. Type: timestampucend
The end timestamp to return to. Type: timestampuccontinue
When more results are available, use this to continue.ucdir
In which direction to enumerate:
newer – List oldest first. Note: ucstart has to be before ucend.
older – List newest first (default). Note: ucstart has to be later than ucend.One of the following values: newer, older Default: older
The above details helped much.
For my wonder, there was a sample python code on the same page.
The code gave only 500 results. I wrote a loop to get the data batch by batch till all the data is received.
Published the tool here – https://github.com/tshrinivasan/wiki_user_contributions_report
How to run?
python3 get_user_contributions.py <language> <wikisite> <username> <start_date> <end_date>
This will give the data as a CSV file. Used a csv-to-html convertor utility to convert this to web page with all the data in sortable table.

For my wonder, my friend Dinesh Karthik, converted this as a nice web application with flask, dash and hosted in heroku.
https://wiki-user-contributions.herokuapp.com/
Source : https://github.com/Dineshkarthik/wiki-user-contributions
Thanks to Info-farmer for providing the idea, Bartosz Dziewoński on wikipedia mailing list for answering all my questions, Dinesh for making a web application quickly.
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
is a good place to ask any tech questions regarding wikipedia.
Thanks to all wikisource contributors for the event and in general.
Congratulations, Teacher!