<br><div class="gmail_extra">On Tue, Nov 27, 2012 at 3:10 PM, Brian Granger <span dir="ltr">&lt;<a href="mailto:ellisonbg@gmail.com" target="_blank">ellisonbg@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi, this is really exciting and will be a huge improvement for using<br>
the notebook for real work.  I will try to look a bit more at this<br>
over the next week (in the middle of finals right now).  But a few<br>
comments:<br>
<br>
* Why exactly do you need cell ids?<br></blockquote><div><br>I&#39;ve enhanced the test failure stack traces such that the function&#39;s &quot;filename&quot; (like &lt;ipython-input-DD-HHHHHHHHHHHH&gt;) links to the cell that defines that code. That makes it easy to click close to the definition of a failing test or function. Even better would be linking directly to the line of code in question… :)  Unfortunately the current implementation has a visual bug when linking to an anchor: the top IPython bar shifts up about 0.3em (it shifts back if you hit the empty fragment, &quot;#&quot;).<br>
 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
* We are soon going to completely remove the ability to publish<br>
javascript from Python.  There are two many horrific security<br>
problems.  The replacement abstraction is &quot;javascript plugins&quot; that<br>
are under review here:<br>
<br>
<a href="https://github.com/ipython/ipython/pull/2518" target="_blank">https://github.com/ipython/ipython/pull/2518</a><br>
<br>
There is more work to do on this, but this will give you an idea of<br>
where we are headed.  Please ask questions about the plugins on that<br>
PR.<br></blockquote><div><br>That makes a lot of sense. From a quick reading of it, an extension would be able to register JS to be loaded onto the page, and the publish_json method would allow the payload to be handed to one of those custom functions. There&#39;s no reason I can&#39;t port this extension to that style once that lands.<br>
<br>I do have a few questions up-front:<br>1. Is there a better way than peeking at sys.displayhook to determine what kind of output to produce?<br>2. I&#39;d really like to have cell anchor generation happen always. Seems like it would be useful to provide intra-notebook links to cells. I&#39;m not sure how one would manage those links as the execution order evolves, though. For this extension, that migration is actually a good thing, as the anchor points to the code that was actually run even if it&#39;s no longer visible.<br>
3. I&#39;d love to have a consistent interface to stream something like stdout character-wise instead of line-wise. Right now it&#39;s hacked to hook stdout directly on the console, and with even more horrible jQuery machinations on the notebook side.<br>
<br>Thanks!<br><br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Cheers,<br>
<br>
Brian<br>
<div><div class="h5"><br>
On Tue, Nov 27, 2012 at 11:49 AM, Taavi Burns &lt;<a href="mailto:taavi.burns@gmail.com">taavi.burns@gmail.com</a>&gt; wrote:<br>
&gt; <a href="https://github.com/taavi/ipython_nose" target="_blank">https://github.com/taavi/ipython_nose</a><br>
&gt;<br>
&gt; I&#39;ve gotten the %nose magic Greg Ward and I worked on at the PyCon Canada<br>
&gt; sprints to a reasonable point. I&#39;m not yet convinced that it&#39;s ready for<br>
&gt; integration into IPython (I think I&#39;d like to get IPython to add id<br>
&gt; attributes on the cells so I don&#39;t have to add them myself with JS), but it<br>
&gt; should be good enough for some real-world testing.<br>
&gt;<br>
&gt; It&#39;s pip-installable in development mode:<br>
&gt; . YOUR/VIRTUALENV/activate<br>
&gt; git clone <a href="https://github.com/taavi/ipython_nose.git" target="_blank">https://github.com/taavi/ipython_nose.git</a><br>
&gt; cd ipython_nose<br>
&gt; pip install -e .<br>
&gt;<br>
&gt; I might not bother putting it on PyPI if it&#39;s as likely to get included in<br>
&gt; the base IPython as Fernando was suggesting. ;)<br>
&gt;<br>
&gt; I&#39;d appreciate any feedback on features and bugs. Feel free to lodge them in<br>
&gt; the github tracker. Pull requests are also welcome! Please keep in mind that<br>
&gt; the end goal is to integrate it into IPython proper, so some work might be<br>
&gt; deferred until then.<br>
&gt;<br>
&gt; Thanks!<br>
&gt;<br>
&gt; --<br>
&gt; taa<br>
&gt; /*eof*/<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; IPython-dev mailing list<br>
&gt; <a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
&gt;<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>
_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br>taa<br>/*eof*/<br>
</div>