Brian,<div><br></div><div>No this helps a lot. I want the functionality and have looked at a lot of other apps but we have been using ipython before the notebook implementation and feel it's way better than anything else out there. I spent some more time yesterday poking around the code. I think I can pull out what I don't want from it. In reality I basically want all the same functionality as the notebook, I'm even fine with keeping a history, etc. Basically I think I just need to tell it to use the same kernel every time instead of firing up another instance. Does this sound correct? Or would the better way be to start a new kernel instance and kill any old ones saved?<br>
<br>I guess the TL;DR is I want a singleton instance of a notebook. ;-)</div><div>The way it sounds it isn't possible with the way it's designed. We are currently using cherrypy, not sure what it would take to port over to this, but we can use tornado if that is a big staple as well.</div>
<div><br></div><div>p.s. Thanks to the ipython team for all your work, anytime I jump on a system without ipython now it makes me a sad panda.</div><div><br clear="all"><span style="border-collapse:collapse;font-family:arial,sans-serif;font-size:13px"><div>
<span style="border-collapse:collapse;font-family:arial,sans-serif;font-size:13px"><br></span></div>---------------------------------<div>Anthony Oliver</div><div>Chief Technology Officer</div><div><span style="border-collapse:collapse;font-family:arial,sans-serif;font-size:13px"><a href="http://www.ingenuitas.com/" target="_blank">http://www.ingenuitas.com</a></span></div>
<div>(906) 289-8169</div><div><a href="mailto:anthony@ingenuitas.com" target="_blank"><font color="#000000"><span style="border-collapse:collapse;font-family:arial,sans-serif;font-size:13px"></span>anthony@ingenuitas.com</font></a></div>
<div>---------------------------------</div></span><br>
<br><br><div class="gmail_quote">On Wed, Jan 18, 2012 at 1:19 PM, Brian Granger <span dir="ltr"><<a href="mailto:ellisonbg@gmail.com">ellisonbg@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Tue, Jan 17, 2012 at 1:45 PM, Anthony Oliver <<a href="mailto:anthony@ingenuitas.com">anthony@ingenuitas.com</a>> wrote:<br>
> Is there a correct way to just build the shell that could work within a<br>
> browser, or an example somewhere?<br>
<br>
</div>You would need to build a custom web application from the ground up.<br>
The best example is the current notebook code. It shows how to use<br>
ZeroMQ to communicate with IPython kernels using JSON messages. But<br>
the code is not really designed to be used as a library. We plan on<br>
moving in that direction, but it will take time.<br>
<div class="im"><br>
> I basically want the functionality of the notebook. My problem with using<br>
> notebooks is that we are currently using ipython as an embedded shell which<br>
> is awesome. But we want to extend it through a web interface, the notebook<br>
> method is perfectly fine, except in our application, the current running<br>
> program is always in context, so you can think of it as only ever needing<br>
> one notebook.<br>
><br>
> I started diving into the notebook app itself, it appears much of the<br>
> javascript is also looking for things (for instance I tried to override the<br>
> handlers for the paths so the same thing is always served). I can continue<br>
> on my path, but I would imagine there maybe a more stripped down example<br>
> floating around some where.<br>
<br>
</div>Unfortunately we don't have any other examples. On one hand, the<br>
notebook app is a fairly simple example itself. It shows the basics<br>
of how you would communicate with kernels and display output, etc. On<br>
the other hand, notebook web application is extremely complex. There<br>
are multiple channels of communication (WebSockets, Ajax), everything<br>
is async and you have to wade through our JSON based message protocol.<br>
Not sure if this helps, but I think your approach of diving into the<br>
notebook code base is a good one.<br>
<br>
Cheers,<br>
<br>
Brian<br>
<div class="im"><br>
> Thanks.<br>
><br>
> ---------------------------------<br>
> Anthony Oliver<br>
> Chief Technology Officer<br>
> <a href="http://www.ingenuitas.com" target="_blank">http://www.ingenuitas.com</a><br>
> <a href="tel:%28906%29%20289-8169" value="+19062898169">(906) 289-8169</a><br>
> <a href="mailto:anthony@ingenuitas.com">anthony@ingenuitas.com</a><br>
> ---------------------------------<br>
><br>
><br>
</div>> _______________________________________________<br>
> IPython-User mailing list<br>
> <a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
> <a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
><br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
Brian E. Granger<br>
Cal Poly State University, San Luis Obispo<br>
<a href="mailto:bgranger@calpoly.edu">bgranger@calpoly.edu</a> and <a href="mailto:ellisonbg@gmail.com">ellisonbg@gmail.com</a><br>
</font></span></blockquote></div><br></div>