Are you actually planning to lose Python 2 compatibility is porting to 3? It might make more sense to keep both if you can, if only because if you give up Python 2, there'll be an intermediate period where the code won't run anywhere.
Python six is a library that might help with targeting both
Code that supports both py2 and py3 is often ugly and a pain to work with.
I think your advice might be well intended, but if followed will end up with an overloaded dev. and no new progress being made (and all that for the five guys who still don't have py3 installed)
Sorry to sound harsh, but I wish someone had told me that advice when I accepted to backport a py3 package to py2
It's not only the compatibility that is ugly. It's also that python 2 code has a couple of ugly warts, such as the forced arguments for super(). The only way I'm supporting python 2 with my libraries is by running 3to2 and pasteurize (future package) over the python 3 source code.
I really don't want to actually have source code that works on both, it's a pain to maintain. Although the future library should make it a lot nicer, but you still need a lot of ugly from __future__ imports as well.
dict == OrderedDict is a cpython implementation detail. Not doing the import is just leaving a footgun for yourself if you ever decide to try PyPy or VOC or similar.
Python six is a library that might help with targeting both