Update: Hot on the heels of 4.1.0, tableau_tools 4.2.0 is now available with full Python 3 compatibility!
The version 4.0 series of tableau_tools was always intended to allow for Python 3 compatibility, and with version 4.2.0, installing from PyPi (or setup.py) invokes automatic 2to3 conversion that should work without any additional changes. The short lived 4.1.0 release moved from urllib2 to requests as the library for making the actual HTTP calls in the backend, and 4.2.0 finishes off the work by moving everything to Unicode internally, while writing all text files out in UTF-8 encoding.
This means there is now a requirement for the requests library, but since every other Python package in the world now uses requests, I don’t think it should cause anyone any harm. Please do report any bugs that you see, as there might be a few quirky corner cases where something that was necessary before requests is causing an issue.
The Tableau SDK itself is only Python 2.7 compatible, so the TDE Extract Generation / Conversion from TDS to TDSX functionality won’t work in Python 3, but everything else should be completely compatible.