I made these initial fixes to start porting debug-toolbar to Python 3. These are the "easy" ones.
The big problem will be the replace_call decorator from utils.tracking, cause you can no longer get the defining class from method (although you can get its name by qualname). So I'd advise changing the signature of replace_call to replace_call(klass, func), where klass will be the defining class(/module) itself and func will be string name of function. I'll do the work, but I want to make sure you'd accept such a change.
First bunch of fixes for Python 3 compatibility. Still supports Pytho…
So, yeah. please use six (https://pypi.python.org/pypi/six) as the compatibility layer. Although it's included in Django we can't rely on it since we want to support the last Django versions, too.
Turns out someone was faster than me, see PR #366 (although that one utilizes six from django...). Still, the problem with replace_call isn't solved there. Any objections against my proposal above?
Sorry again, but I'm closing this in favor of #373.