Hi all,


I am fresh new to pywikibot's community. I hope it's the right place to suggest something. Phabricator looks like todo trackers now. 


The thing is that after the pywikibot’s 3.x release, I’m excited to write scripts in Python 3.


I’ve working on to upload a list of natural reserves of China to wikidata recently for WikiLovesEarth. To be frankly, it's awkward to work with the API. Although the project grows faster now.


Some methods triggers the lazy load, while others like constructor can be an empty instance. Some triggers lazy save while others like setTarget might not be saved until addQualifer.

A loaded object doesn't know the difference between the downloaded state and changed state. Especially for the complicate project like wikidata, it makes the debugging hard and error prone.

The naming convention looks different than the document said.

Also, there's not a central place to look for the future development and version management.


So to speak, in my opinion, an ActiveRecord like model seems much more easier to debug. The bot operation should be I/O bounded, it makes sense to lower the burden of debugging/trying.


There's no doubt pywikibot is battle-tested and well known but I do think it can go further. Please leave comments or give me some pointers to join more dev centric discussion.


----

Regards,


Erick 'Xiao' Guan/管啸(fantasticfears)



Sent from my iPad