Python 3 changes with Python 2 backwards compatibility fix

Rationale: Target current Python release and provide *backwards* compatibility if needed. Don't target legacy releases.