[IPython-dev] make ipython work over web

Fernando Perez fperez.net at gmail.com
Fri Mar 26 22:15:37 EDT 2010


On Fri, Mar 26, 2010 at 4:07 PM, Ondrej Certik <ondrej at certik.cz> wrote:
> Hi,
> it just occurred to me that it'd be a cool idea to be able to use
> ipython as the Sage/FEMhub notebook, in particular, you would use it
> just like regular ipython in the terminal (only at the beginning you
> would log in) and it would interface the Sage/FEMhub server over some
> API (I am playing with json-rpc api at [0]) and I guess it would
> always create a new worksheet and only allow to add new cells at the
> bottom (which is the way ipython works).
> So it will be a nice thin client. I don't know how this fits in the
> recent ipython refactoring. Essentially I am trying to figure out some
> nice API for evaluating cells, doctests ("?"), code inspection ("??"),
> code completion ("TAB"), and it takes some time to always implement
> this in the web notebook directly, so I want to play with this in a
> simple terminal client.
> Essentially almost all ipython features could work remotely over some
> API. And the web notebook would then use the exact same interface, so
> it should be easy for people to write the web notebooks.
> I guess some of you must have thought about this, but I am just
> posting it here, as I like this idea (so far).
> Ondrej

Sure!  The recent code Brian and I put up:


already has even tab-completion implemented, it uses json for the
messaging, so it's precisely that idea.  Just go to


run 'kernel' in one window, and as many 'frontend.py' as you want.
They all tab-complete, send input and get output from the same kernel.

We're making sure we build the whole thing with multi-client support
from the get-go, so we don't get bitten later by issues we hadn't
thought of.

We deliberately made this tiny prototype *outside* of ipython to get
the api right and see the design issues in isolation.  Once it's
finished, we can build a real system out of it (once we get 0.11 out



More information about the IPython-dev mailing list