Brendan,
The following feedback comes with a couple of caveats: I've only looked at portions of the server-access code (python.py), and I'm a relative Python newbie (gradually migrating my bot and related data warehousing / data analysis programs from PHP5 to Python).
Your code for accessing the Betfair server has been really helpful - a clearly written, easy to follow, fairly 'thin' wrapper around the BF API calls, which is exactly what I was looking for. The amount of work it has (and will) save me in combing through the WSDL file working out how to code up the SOAP call for each service has been huge.
Of course, everyone writing a bot will have their own views on the right way to structure it. Personally, for example, I like my BF access methods to abstract away the throttling issue (by noting how long it is since they were last called, and sleeping before making the SOAP call if necessary) rather than leaving it to the calling program to sort out. For these sorts of reason, I wouldn't myself make much use of open source functionality for higher-level stuff. I've got my own strong views on how a bot should be structured, how it should interact with the database, how it should be made robust to connectivity failure, and so on. I'm sure your ideas on the matter are just as valid (or more so!), but I like to do it my way.
It would be a very generous gesture to open source your higher-level code, and not one I'd be willing to do myself. All those decisions about how to structure things seem quite personal (in a way that code for fairly mechanical SOAP accesses don't), so while I'd always be very happy to do what I could to help people with the mechanics of the exchange APIs, sharing the higher-level stuff isn't a road I'll be going down. Kudos to you if you're generous enough to do that though.
Thanks again for posting your code - greatly appreciated.