Thursday, July 25, 2013

PyDev 2.8.0 released

I guess that the major feature added in PyDev 2.8.0 is that the type inference engine will now work with docstrings to find out about the types.

The page: has more details about that (note that the syntax is very broad, so, I'm waiting on reports if there are use-cases I did not cover properly). Also note that PyDev still can't provide code-completion when unpacking types -- such as a list(str) -- if you want that, please vote on (as it's a request that's considerably hard to do, I'll probably only do it if there are many people interested).

The second is that the interactive console supports running with Qt and Gtk event loops (which was a patch by Edward Catmur). This allows users to interactively create a UI in those frameworks while actually seeing and manipulating the window.

-- Update: 2.8.1 has been released to remove the Gtk event loop because was not working properly.

Wx is still not supported properly because I wasn't able to make it work without redirect=False on the app, and if redirect=True it won't put the output in the interactive console (if there's someone knowledgeable with time to check it, org.python.pydev/pysrc/ WxMainLoop is the place to look at).

The last thing is that debugging should be working again on Google App Engine (which was broken after the latest updates on the -- it was really a bummer not having the debugger there.

Besides that, there are many other niceties added in this release. See for more details.

Now, unrelated to release features: I think that a nice side-effect of the plead to support for PyDev is that more people are contributing code to PyDev too (besides allowing me to spend more time to develop it myself), so, this release had much more pull requests merged than usual -- great times to be developing PyDev :)

Another nice thing is that for this release I was finally able to enable voting properly on the tracker and allow supporters to fund PyDev again (and get votes in the tracker or space in the homepage as a reward), so, for those that haven't been able to contribute before, can be accessed to provide funds to keep it going so that it can remain viable on the long term... (as short term it's viable thanks to the previous Indiegogo crowdfunding).