'''2to3''' is a tool that automatically translates [[PortingPythonToPy3k|2.x code to 3.x code]].

== Description ==
Overview: [[http://pybites.blogspot.com/2008/09/fun-with-2to3.html|Fun with 2to3]] by Benjamin Peterson<<BR>>

== Code ==
The code is located at http://svn.python.org/view/sandbox/trunk/2to3. At the moment, it is principally maintained by BenjaminPeterson. Since Python 2.6, it has been included in the standard library. http://docs.python.org/library/2to3.html

== Ideas ==
 * Some people have expressed interest in adding directives in the source to 2to3. So you could write:
 {{{
 # 2to3: strings-are-bytes
 x = "hi"
 # 2to3: end
 }}}
 and that would get translated to

 {{{x = b"hi"}}}

 * Last year there was a project to add confidence rankings to 2to3 changes. People could configure them to a certain level and deal with low confidence refactoring manually (or interactively). For some reason, the project was never finished. If you want to find more out about that, I suggest you contact [[http://isnomore.net/2to3|the student]] or his mentor, Collin Winter.

 * Some people have expressed an interest in seeing a 3to2 tool which would make 3.x code valid for ~2.5. Work is in progress, see [[3to2]]