Porting is a non-event for most non-large projects. In short:<p>- First cut a new major version<p>- Write a few tests if needed, they go a long way here.<p>- Update to 2.7 best practices and logging<p>- Run tests, commit<p>- Add a few future statements, commit<p>- Run pyflakes3 on it, fix, commit<p>- Run under 3.x/fix until clean, commit<p>However, if your project is huge and/or does a lot of string and bit twiddling it's excruciating. Hence the controversy between factions.