Skip to content
Modernizes Python code for eventual Python 3 migration. Build on top of 2to3
Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Fix a broken link in docs. Oct 14, 2014
libmodernize Bump version number. Oct 14, 2014
tests Test for #19 ('import six' can be after its first use). refs #19 Oct 14, 2014
.gitignore Skeleton docs Sep 26, 2014
.travis.yml .travis.yml: install a recent version of six, since some tests depend… Sep 26, 2014
CHANGELOG.rst Remove "(unreleased)" from CHANGELOG. refs #69 Oct 14, 2014
LICENSE License clarification and typo fixes. Aug 11, 2014
README.rst Shorten README, link to docs, add RTD badge Oct 6, 2014 Use absolute import Sep 19, 2014 Use absolute import Sep 19, 2014


Python           _              _
   _ __  ___  __| |___ _ _ _ _ (_)______
  | '  \/ _ \/ _` / -_) '_| ' \| |_ / -_)
  |_|_|_\___/\__,_\___|_| |_||_|_/__\___|

This library is a very thin wrapper around lib2to3 to utilize it to make Python 2 code more modern with the intention of eventually porting it over to Python 3.

The python-modernize command works like 2to3. Here's how you'd rewrite a single file:

python-modernize -w

It does not guarantee, but it attempts to spit out a codebase compatible with Python 2.6+ or Python 3. The code that it generates has a runtime dependency on six, unless the --no-six option is used. Version 1.8.0 or later of six is recommended. Some of the fixers output code that is not compatible with Python 2.5 or lower.


See the LICENSE file for the license of python-modernize. Using this tool does not affect licensing of the modernized code.

Documentation Status
You can’t perform that action at this time.