[IPython-dev] Fwd: [SciPy-User] ANN: IEP 3.0.beta - the Interactive Editor for Python
Sat Apr 21 16:40:12 CDT 2012
> > I believe the main difference is that IPython considers the kernel to be
> > "in charge", while IEP considers the kernel to be a "slave".
> Can you elaborate on this distinction?
It's been a while since I looked at some code or docs of IPython, so please
correct me if I'm wrong. IPython, being historically only an interpreter,
is very kernel-centric; most of the smartness is in the kernel, and the
"clients" are relatively thin. IEP comes from the other direction; most of
the smartness is in the IDE, and the kernel is made to be as small and
light as possible.
One example is that the IEP kernel does not know about autocompletion. The
kernel has an RPC component that on demand provides the IDE with a list of
names in a certain namespace, and the IDE uses that to provide
autocompletion to the user.
Although IEP initially also did the magic commands on the IDE side, we know
think it's better to do these in the kernel, so our kernel is getting
"smarter" :) But for the rest we try to keep the kernel stupid, and have
it provide the IDE with all the information to do the smart stuff. Anyway,
that's the idea.
> Also, as a pure-python library, I'm also curious how easy it would be to
> port parts of yoton to Google App Engine (for instance, to run a kernel
> on GAE). You wouldn't have a BSD socket, but you could substitute in a
> wrapper around the GAE Channel class, I think (or at least hope).
I've never done anything using Google Apps Engine, so I'm not sure how
difficult it would be to deploy yoton on it. As for the connection, Yoton
implements an abstract class
represents the thing that connects two contexts. Currently the
TcpConnection (which wraps a BSD socket) is the only subclass. In principal
it should be possible to wrap any kind of connection in it.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the IPython-dev