Differences between revisions 14 and 55 (spanning 41 versions)
Revision 14 as of 2010-08-20 21:38:31
Size: 2250
Editor: 99-68-149-237
Comment:
Revision 55 as of 2019-12-15 07:56:25
Size: 278
Comment: Remove early Python 3 information, leaving a link to previous revision for accessibility
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= This page describes efforts to port pylint to Python 3.x = = This page describes efforts to port PyLint to Python 3.x =
Line 3: Line 3:
== Status of the port ==
  * We're really just getting started.
  * [[http://www.logilab.org/ticket/19645|Here's the ticket about the port]]

== 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.
  * About the three packages
    * 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.
        * The owners of the code believe this will be the easiest part
        * 29274 lines of code initially
      1. logilab-astng
        * 18928 lines of code initially
      1. pylint itself
         * 28415 lines of code initially
    * 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 ==
  * 2to3
    * [[http://docs.python.org/library/2to3.html|2to3 documentation]]
    * Python Wiki on [[2to3]]
  * Notes about how to do 2 to 3 ports
    * [[http://lucumr.pocoo.org/2010/2/11/porting-to-python-3-a-guide|
    * [[http://www.dwheeler.com/essays/python3-in-python2.html|Python 3 in Python 2.6+]]
  * Specific projects' notes on their ports
    * [[PortingDjangoTo3k|Django]]
    * [[http://mercurial.selenic.com/wiki/Py3kPort|Mercurial]]
    * [[http://web.archiveorange.com/archive/v/mvjb4khRLlhPNkSzNuNt|Bazaar]]
PyLint 1.0.0 has been released with support for Python 3. If you are interested in the project history, you can find it in a [[https://wiki.python.org/moin/PyLint-3k?action=recall&rev=54|previous page revision]].

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

PyLint 1.0.0 has been released with support for Python 3. If you are interested in the project history, you can find it in a previous page revision.

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

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