Differences between revisions 7 and 9 (spanning 2 versions)
Revision 7 as of 2010-08-20 19:24:06
Size: 1405
Editor: 99-68-149-237
Comment:
Revision 9 as of 2010-08-20 19:32:06
Size: 1743
Editor: 99-68-149-237
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
The idea is to eliminate Python 2.4 compatibility because that will simplify some of the code, and to expand compatibility to 3.0 and 3.1.
  * This will require converting 3 Python 2-compatible packages to a common subset of Python 2 and Python 3. We may or may not be able to do this using 2to3; 2to3 may be
    a bit too exuberant about moving to a nice, python 3-only syntax in some areas.
    1. logilab common
The idea is to add support for Python 3.0 and 3.1, while eliminating Python 2.4 compatibility because that will simplify some of the code.
  * This will require one of the following methods:
    * Converting the three Python 2-compatible packages to a common subset of Python 2 and Python 3
      * We may or may not be able to do this using 2to3; 2to3 may or may not prove too exuberant about moving to a nice, python 3-only syntax in some areas.
    * Creating creating modules that abstract the differences between Python 2 and Python 3 and depending on them instead.
  * Those three packages are:
    1. logilab-common
Line 13: Line 16:
    1. logilab astng     1. logilab-astng
Line 15: Line 18:
  * There appear to be test suites for each of these, which can be invoked using the pytest command, which in turn appears to be part of logilab-common itself
  * The owners of the code would like to keep the changes compatible with Python 2.5.x, which of course is a bit more involved than targeting 2.6 and up.
  * There appear to be test suites for each of these, which can be invoked using the pytest command - pytest appears to be part of logilab-common, which suggests a bit of
    mutual dependency to work around.

  * The owners of the code would like to keep the changes compatible with Python 2.5.x to avoid having two code bases to maintain, which of course is a bit more involved
   
than targeting 2.6 and up.
Line 20: Line 25:
  * Python Wiki on [[2to3]]

This page describes efforts to port pylint to Python 3.x

Status of the port

We're really just getting started.

Goals and high level overview of tasks

The idea is to add support for Python 3.0 and 3.1, while eliminating Python 2.4 compatibility because that will simplify some of the code.

  • This will require one of the following methods:
    • Converting the three Python 2-compatible packages to a common subset of Python 2 and Python 3
      • We may or may not be able to do this using 2to3; 2to3 may or may not prove too exuberant about moving to a nice, python 3-only syntax in some areas.
    • Creating creating modules that abstract the differences between Python 2 and Python 3 and depending on them instead.
  • Those three packages are:
    1. logilab-common
      • This one is probably the place to start, because it appears to contain the test harness we need, and the owners of the code believe it will
        • be the easiest part
    2. logilab-astng
    3. pylint itself
  • There appear to be test suites for each of these, which can be invoked using the pytest command - pytest appears to be part of logilab-common, which suggests a bit of
    • mutual dependency to work around.
  • The owners of the code would like to keep the changes compatible with Python 2.5.x to avoid having two code bases to maintain, which of course is a bit more involved
    • than targeting 2.6 and up.

Resources

PyLint-3k (last edited 2019-12-15 07:56:25 by FrancesHocutt)

Unable to edit the page? See the FrontPage for instructions.