[IPython-dev] frontend plans

Hans Meine hans_meine at gmx.net
Thu Jul 3 10:38:37 EDT 2008

Am Dienstag, 01. Juli 2008 02:37:44 schrieb Fernando Perez:
> - Tab completion: this is just one case of the more generic case of
> how to represent out-of-process information.  We have to assume that
> in general, only the core has true access to the real in-memory
> objects of the user's namespace.

Right.  In our PyQt-based pyterm, tab-completion checks whether the backend 
(TCP server running the python commands) is busy and does nothing then.
If you think about it, it's not too different from a regular (ipython / 
operating system) shell, and it has not bothered me a lot at all.  One may 
think about possible out-of-process completions for some corner cases later 
(e.g. for filenames, it may be nontricky to implement something that's useful 
at least in many cases).

> Clients may request information 
> about this for display purposes, and some communication of reduced
> data may happen with such clients, but we can't expect to  copy the
> user's namespace across the wire in a general sense.

Definitely not.

I am particularly happy that the idea of having an optional IPC/nonblocking 
layer between the front- and backend has been discussed; I have myself 
refactored our pyterm in the past in order to separate the communication 
between the two (and make it optional) such that I can run the backend 
in-process (all in one thread).  As IIRC Gael wrote, this can be a common, 
desired mode of operation in GUI programs; at least you can add scripting to 
your GUI very easily then, without thinking about threading and/or 
synchronization (which may be overkill e.g. for your own mini-GUI for 
scientific visualization).

Have a nice day,

More information about the IPython-dev mailing list