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: http://pydev.org/manual_adv_type_hints.html 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 https://sw-brainwy.rhcloud.com/tracker/PyDev/147 (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/pydevconsole.py: 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 dev_appserver.py) -- it was really a bummer not having the debugger there.

Besides that, there are many other niceties added in this release. See http://pydev.org 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, https://sw-brainwy.rhcloud.com 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).

It should work, but only if you're using a PyQt4 backend (Gtk was disabled due to some issues and PySide does not support an api I was using -- although I've just fixed the issue on PySide, so, if you update to the nightly build I've just pushed, it should be working with PySide too).

Note that you have to do: get_ipython().enable_pylab() to enable the pylab interactive mode.

Thanks Fabio,That's great - I downloaded the update and it all works. I am using the enthought python distribution which I think uses pyside as the default backend.

The only glitch I noticed was that if you try to close the first figure that you create it doesn't disappear - although strangely it does for later figures. Not a big deal but thought I would mention it.