<div dir="ltr"><div class="gmail_extra">On Thu, Oct 24, 2013 at 10:11 AM, Jason Grout <span dir="ltr"><<a href="mailto:jason-sage@creativetrax.com" target="_blank">jason-sage@creativetrax.com</a>></span> wrote:<br><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im"><span style="color:rgb(34,34,34)">It would be really cool if you could hook into the new IPython comm</span><br>

</div>
infrastructure to push events back to the server in IPython (this is not<br>
quite merged yet, but probably ready for experimentation like this).<br>
The comm infrastructure basically opens up a communication channel<br>
between objects on the server and the browser.  Messages get sent over<br>
the normal IPython channels.  The server and browser objects just use<br>
either send() or an on_message() handler.  See<br>
<a href="https://github.com/ipython/ipython/pull/4195" target="_blank">https://github.com/ipython/ipython/pull/4195</a></blockquote><div><br></div><div>Yeah, I think we should definitely look into integrating with this mechanism for when we are embedded in a Notebook.  However, we always want the underlying infrastructure to be independent of IPython Notebook, because we want people to be able to build analytical applications on top of these components.</div>

<div><div class="gmail_extra"> <br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Here's a very simple example of the Comm implementation working with<br>


matplotlib images in the Sage Cell server (which is built on top of the<br>
IPython infrastructure):  <a href="http://sagecell.sagemath.org/?q=fyjgmk" target="_blank">http://sagecell.sagemath.org/?q=fyjgmk</a> (I'd<br>
love to see a bokeh version of this sort of thing :).<br></blockquote><div><br></div><div>This is interesting, and introducing widgets is already on the roadmap, tentatively v0.4.  When running against a plot server, Bokeh plots already push selections back to the server side.  (That's how the linked brushing in e.g. this example works: <a href="https://www.wakari.io/sharing/bundle/pwang/cars">https://www.wakari.io/sharing/bundle/pwang/cars</a>)</div>

<div><br></div><div>Our immediate short-term priorities for 0.3 are improving the layout mechanism, incorporating large data processing into the plot server, and investigating basic interop with Matplotlib objects.</div>
<div>
<br></div><div><br></div><div>-Peter</div></div></div></div>