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).




8 comments:

bwanamarko said...

This great, only problem is I use the consolidate fields approach recommended by epydocs. e.g.:

:Parameters:
param1 : type1
description1
param2 : type2
descrption2
:Returns:
return : type
description
:Raises:
exceptions

it's just more human readable than the Sphinx format, and outputs just as nicely. Anyway the new PyDev features can be adapted to consolidated fields as well?

Thanks! As always I'm very appreciated and grateful for PyDev. I also contributed on indiegogo towards liclips & pydev.

Fabio Zadrozny said...

I must say I wasn't actually aware of that format... please report that in the tracker (it shouldn't be hard to adapt it to handle that format too).

Unknown said...

Update frequency is increasing :) I updated the wikepedia entry. Thanks.

Fabio Zadrozny said...

Just to note, I've had to release 2.8.1 because there were some issues with the Gtk integration in the interactive console...

Randal said...

Gorgeous!

Anonymous said...

Quick question: does anyone know if the gtk/qt integration stuff should allow matplotlib to run in interactive mode? At the moment calling show on matplotlib windows blocks the ipython shell...

Fabio Zadrozny said...

Hi Christian,

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.

Anonymous said...

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.

This feature makes pydev a viable replacement for matlab IMHO.

Thanks.