Hey,
While looking at the source of the pywikipediabot in the past, I noticed
that it contained a bunch of Wikibase specific code (sometimes even
Wikidata specific). The code I saw often did a poor job at separating
different concerns, and did some weird things to represent parts of the
Wikibase data model.
I figured it'd be a lot nicer if there was a clean and correct
implementation of the Wikibase data model that can then be used by
pywikipediabot, and other Python projects that need to interact with a
Wikibase instance. I went ahead and created what is essentially my first
ever Python project [0] to do exactly this. (This is far from fully
implemented, and only linked to here to give you an idea of what I am
talking about.)
Since I'm not following pywikipediabot development closely, I'm not aware
of how much interest there is for having such a component. I'm also not
sure on what exactly would need to be implemented to serve the needs to the
pywikipediabot codebase, or on how to proceed to then starting with the
refactorings required to make use of it.
What is essentially needed for this to go forward is a pywikipediabot
developer that takes charge of this project. If that happens I'll happily
make the contributions required to ensure the data model implementation is
done both correctly and cleanly.
[0]
https://github.com/JeroenDeDauw/WikibaseDataModelPython
Cheers
--
Jeroen De Dauw
http://www.bn2vs.com
Don't panic. Don't be evil. ~=[,,_,,]:3
--