[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,
Hans
More information about the IPython-dev
mailing list