[IPython-dev] Future of wxIpython

Fernando Perez fperez.net at gmail.com
Sun Aug 17 15:43:57 EDT 2008

On Sun, Aug 17, 2008 at 12:29 PM, Gael Varoquaux
<gael.varoquaux at normalesup.org> wrote:
> On Sun, Aug 17, 2008 at 09:21:53PM +0200, Laurent Dufrechou wrote:

>> If possible I would like not to trash my code :), and make it evolve
>> with frontend new features.
>> So what are my options?
> Subclass or reuse either the WxController is wx_frontend, or the IPythonX
> one in ipythonx, if you want Ctrl-D to quit, as this is the only
> additional feature (appart from title changing).
> You have to define what it is that you want to develop: what is the goal
> of the code you are writing. This should help us figure out how it will
> fit in the big picture.

As I said in an eariler email, I have the impression that Laurent's
code is a self-contained WX app, while Gael has built a basic
component with an eye for the new architecture.  So from where I stand
(and I could be missing something, I haven't gone in detail over both
codes), Laurent should be able to deploy a nice, full-featured
IPython-Wx app, with menus, side panes, etc, built on top of the core
component developed by Gael.  Gael's is much simpler by design: it is
intended to be almost like a 'wx-ipython widget' to be reused
elsewhere, in particular for possible embedding into Enthought's
Envisage system in the future.

This division of concerns seems reasonable to me: one is a widget-like
component, one is an end-user app.  We can definitely ship both.

And Laurent: we are most certainly interested in keeping your code and
contributions in the project, no question about that.  It's just that
as part of the natural process of software evolution, sometimes parts
of early prototypes do get scrapped for a different
reimplementation/reorganization.  That doesn't mean they were wrong or
not appreciated, quite the opposite: they are often necessary to
better understand the problem and continue making progress.  So I'm
sure that in the end, you'll end up reusing some of your early code,
throwing away other pieces (because you'll be able to use Gael's
components), but using your combined understanding of the problem to
provide a better solution.  Software development is by nature
iterative, and in each cycle a little gets tossed out, a little new
gets added, and hopefully the result is systematically better :)

How does this sound?



More information about the IPython-dev mailing list