Python 3 support without requiring six