"Mr President, we have a situation"

I posted the following to the IPython and Enthought-dev lists last night.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Sooner or later, something was gonna need to happen WRT Riverbank and the
PyQt licensing.  I had hoped that an entirely new project wasn't going to be
necessary.... but apparently it is.

PySide Released to the Wild:
http://labs.trolltech.com/blogs/2009/08/25/pyside-released-to-the-wild/

>From the PySide FAQ

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
What about PyQt?

Nokia’s initial research into Python bindings for Qt involved speaking with
Riverbank Computing, the makers of PyQt. We had several discussions with
them to see if it was possible to use PyQt to achieve our goals.
Unfortunately, a common agreement could not be found , so in the end we
decided to proceed with PySide.

We will however maintain API compatibility with PyQt (you can use the same
method names but can’t inter-operate with PyQt), at least for the initial
release. To import PySide you have to use “import PySide” instead of “import
PyQt4″.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

I didn't know where to post this.  PySide needs to mature a bit (support
more than Linux for example) but both Matplotlib and Enthought are
affected.  PyQt will likely need to be replaced in both packages once PySide
becomes more mature as the licensing of PyQt is problematic now that Qt is
LGPL.  Its also likely that with Nokia's backing, the PySide API will
eventually dominate.

Hopefully, the above statement regarding the similarity of the API will make
moving over easy.  Personally I'd like to see a focus on Qt vs Wx by
Enthought as I believe it to be much more powerful... but thats my personal
opinion and what I use.

As a side note, I've successfully nailed my C++ Qt code to IPython using a
Cython shim.  The PyQt event loop is available and all seems to work great.

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Eric Jones responded on Enthought-dev

>>>>>>>>>>>>>>>>>>>>>>>>

1. We are switching our focus to Qt and away from wx for all new work.  That
happened when the    Qt LGPL was announced.  We aren't abandoning wx in the
near future, though.
    To much of our legacy stuff relies on it.
<snip>

<<<<<<<<<<<<<<<<<<<<<<<<

My guess is there are relatively few Gui / native graphics folks in the
Cython community but it seems that there is, potentially, an opportunity to
pull a number of critical pieces together with Cython as a modification of
the current yet early PySide strategy.

The key, other than Cython being a better way to nail Python to C/C++, is
the recent Cython Numpy work.  If Enthought (hence Scipy) is going to focus
on Qt, and the Python <-> Qt integration is in play, perhaps this is an
opportunity to do this right.

One of the issues being worked with PySide is the parsing of C++ header
files to generate Python interfaces.  I know Cython has been eying this
issue for a while.  Throw on the Numpy enhancements and perhaps things
Cython become even more compelling to Enthought / Scipy.

While I haven't dug deeply enough, perhaps Matplotlib is in the middle of
this as well.  Qt has features which makes it a better (IMHO) back end than
may of the alternatives.  One example is the OpenGL back-end which improves
performance without changing the 2D API.  In my case, I got huge speedups
just by swapping back-ends (4 lines of C++ code) because X11 was no longer
involved in plotting.  I went fom a pegged cpu supporting X to, essentially
0% because X involvement goes away.  This is a bigger deal than one might
think when working with large data sets and comes virtually for free.

PySide appears to be fairly immature yet Nokia is behind it and its gonna
happen.  The announcement posted above was yesterday.  Perhaps that was the
first "official" announcement once the Riverbank discussions failed.

Seems to me that explaining how Cython could make everyone's (including
Nokia's) life much easier, providing things important to IPython  / Scipy /
Enthought, and potentially enhancing Cython with a capability to parse C/C++
headers could be a pretty big win all around.

-glenn

-- 
Glenn H. Tarbox, PhD ||  206-274-6919
http://www.tarbox.org
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to