Foreword: This email was sent to Bryan previously (because GMail's reply send the reply to the sender of the email being replied, not to the mailing list). I'm sending it again, to let others read it too.
Someone spoke about democracy here?!
As a citizen (!) I vote for: camelCase for functions and variables and CamelCase for class names. (The difference between the two is obvious, isn't it?!)
About BOM, I hope every editor has a way to add it to the beginning of the file. (In MediaWiki codes, when a BOM was added by notepad, I had to remove it to make the code work correct, and it was a pain in ass; now, I have this pessimistic feeling about adding it for Pywikipedia).
Moving to the API is great, but it has its limitations. For example, to my knowledge, it is impossible to get a list of more than 500 pages from the API, so perhaps we need to find a way to get a bigger list (for example for autonomous tasks).
About the backward compatability issue some people notified previously, I think it is a good idea to start tagging versions of Pywikiedpiabot. For example, version 1.0 works with HTML parsing, version 1.1 implements API only and works with MW
11.0 and above, version 1.5 works with API only and MW 12.0 and above, and so on.
I strongly support the idea of separating the framework from the bots. With that in mind, I think we should use a different approach about i18n and l10n. Consequently, I'm making no changes to the /pywikipedia/messages branch, untill we know how the new i18n system is going to work.
Finally, as many of you may know or guess, I'm not a professional programmer, so my comments may look a little silly, or worded in a way you don't usually expect. So excuse me about that.
Hojjat (aka Huji)