[SciPy-user] ipython => TeXmacs!
Tue, 4 Feb 2003 11:18:00 -0700 (MST)
On Thu, 30 Jan 2003, David Ascher wrote:
> Fernando Perez wrote:
> >However, as I said before, I don't intend to embark on a gui project myself.
> >For my needs, ipython + xemacs is basically perfect. However, if there is
> >enough interest in a gui scientific pyhton shell, I'd be glad to help along
> >with the internal redesign and I can probably write the 'plumbing' necessary
> >for ipython to plug into another external system. But gui programming just
> >doesn't interest me very much, sorry.
> I'm interested, not so much in the scipy-ipython integration (although
> that would be neat), but in finding a way of using ipython in Komodo,
> when we get to do our interactive shells. I'm not going to have time to
> work on that for a while, but I'd love to learn more about ipython and
> its architecture -- specifically what API you'd like to see between the
> GUI handling part and the "model" of the shell.
Well, give IPython a try one day and see if it seems to fit your needs. As
far as architecture goes, let's say there isn't much of one (to be very kind
to me :). IPython is quite robust and useful, but internally a mess. And
that's precisely why I'm interested in hearing about possible development
along with a good gui: so that I can drive a major internal cleanup with an
eye out for gui integration.
Honestly, I think that for a text-only shell it's "good enough" and probably
the effort of cleaning it up internally isn't really justified. But if
there's interest in using it as the core for a good gui, I could definitely
reorganize it and actually come up with a good API. The pieces are in my head
and I know what needs to be done.
Here's how I see it being done: I could reorganize its internals by
coordinating with gui folks so that the current ipython (text-mode) becomes
one 'view' of the internal engine. That would be the simplest view, as a text
client running in a terminal. The gui writers could then call the same engine
from inside a graphical window for added functionality. I would help with the
internal rewrite and could maintain the text interface, but I won't go into
the gui stuff. Sorry but I'm just not very interested in that and don't have
the time for it.
Ideally it could be done so that PyCrust, Idle or Komodo could all (with
suitable, hopefully minor adapations) call ipython for their shell services.
If this is done right, it could eventually become part of the standard library
and we could have a really solid underpinning for all the python shells. This
would bring the added benefit of more developers fixing bugs/adding features
to a core which all shells (graphical or not) could benefit from.