For the most part keeping new code compatible with both Python 2.6 and 3.1 isn't a challenge, the most noticeable issue is with string data. The obvious downside is if the code has to run on an interp that doesn't understand the modern 'except ClassName as varname:' thing.