The TwitterMixin is broken in python 3. When the response is returned an access_token dictionary is created with binary keys and values. This seems to be fine until the _oauth_get_user is called as it assumes the dictionary keys are strings and return value is also a string.
I have patched the routine as follows, but not sure if there are other problems lurking around due to access tokens being bytes.
def _oauth_get_user(self, access_token, callback):
callback = self.async_callback(self._parse_user_response, callback)
"/users/show/" + escape.to_basestring(access_token[b("screen_name")]),
don't know the code well enough to know whether its better to have access_tokens all converted to strings or leave them in byte format.
This is fixed in the master branch with e7485f8
I've added some more tests so this should be enough, but please let me know if you see any other issues.