This project is meant to provide a plugin for python language support in KDevelop. The work is based on code from a previous attempt to introduce Python support that had been abandoned. So far, the renewed efforts have resulted in a rewrite of most of the components of the earlier project. The main focus is on providing modern semantic code analysis, which unfortunately is not available in the majority of Python IDEs. This includes, but is not limited to, providing intelligent autocompletion, semantic highlighting, working QuickOpen support, documentation support, type guessing of objects using intelligent algorithms, and of course both syntactic and semantic error reporting.

Currently, there is a working parser (a fork of the official python parser) that is able to report syntactical errors. There is also autocompletion support for everything that is declared in the current scope. Semantic highlighting as known from KDevelop's C++ support and its PHP plugin mostly works, too. At the moment, I am working on type support, which is - as expected - very difficult, mostly because nothing regarding types in python is sure, which means that you have to rely on guessing. Neverthereless, I am sure that with some additional work (and especially using KDevleops "unsure" types), it should be possible to provide type support that proves useful in most cases. Having good type support is especially important for more advanced autocompletion features, which is next on the to-do-list.

It should be mentioned that this project is not close to being finished; there is still a lot of work to do. Until now, the amount of new code that has been written for this plugin amounts to roughly a few thousand lines of C++ code. Contributors are very welcome as there are still quite a few things I need to figure out, and not having to do that alone would be highly appreciated.

The code of the Python plugin can be found here. To get in contact with Sven Brauch and the other KDevelop developers, feel free to email to the KDevelop mailing list (kdevelop at kdevelop.org) or visit the #kdevelop IRC channel on Freenode.