[IPython-dev] [sage-notebook] Re: Using Google App Engine channels instead of zmq in new IPython

Fernando Perez fperez.net at gmail.com
Mon Feb 13 18:08:15 EST 2012

On Mon, Feb 13, 2012 at 3:01 PM, Jason Grout
<jason-sage at creativetrax.com> wrote:
> Those are some very nice diagrams!

Indeed, all the credit goes to Min.

> Thanks for the feedback.  We already have a websocket<->zmq bridge, right?
>  I think now that GAE channels could basically replace the websocket
> portion.  I assume that would be much easier?  So the basic architecture
> would be:
> browser <-GAE channel-> Sage server on GAE <-GAE channel-> (bridge <-ZMQ->
> IPython kernel)
> where the part in parentheses would be the worker running on a compute
> server, and the shim is the bridge between GAE channels and zmq.  Does that
> seem more reasonable?  What does the architecture of your websocket bridge
> look like?

That's the part we use tornado for, so indeed if you wanted to go this
route but run on GAE instead, you could replace our tornado-using code
as indicated in your ascii-diagram above.  The code that does this is
mostly in the various modules here:


That directory is the only part of IPython that uses tornado, which is
effectively what you're talking about replacing.



More information about the IPython-dev mailing list