[IPython-dev] Bumping up priority of thinking about output scrolling/control

Jason Grout jason-sage at creativetrax.com
Fri Jun 1 06:27:20 EDT 2012


On 5/31/12 10:30 PM, Fernando Perez wrote:
> On Thu, May 31, 2012 at 8:22 PM, Brian Granger<ellisonbg at gmail.com>  wrote:
>> i can look into this.  But the other option for the output of multiple
>> engines is to build a simple widget that has a slider and allows you
>> the slide through the output of the different engines.  But I agree
>> that we need a more general solution to this issue.
>
> I think it's worth thining about the clean solution for the long run:
> Titus had examples that were unmanageable even without any
> parallelism, simply because of very long running code that had super
> verbose stdout.  Without something to manage output size, his demos
> would have been simply impossible.  He actually did the public demos
> off Min's quick branch, but that's not a long-term solution :)
>
> So let's see what we can do for a clean solution we're happy with that
> applies even in the absence of multiple engines.  Obviously your idea
> could also be quite useful for that case, but let's first think about
> what to do with stdout of absurd lengths...

Just FYI, Sage takes a slightly different approach.  When output reaches 
a certain length, it is instead saved off to a file, and just the start 
and ending of the output is displayed, separated by a noticeable 
ellipsis.  At the end, there is a link to the output file, which, when 
clicks, opens up in the browser to display all of the output.  While 
output is being returned, this display (of the last bit of output) is 
continuously updated.  See http://sagenb.org/home/pub/4784/ for an example.

Mathematica 8 displays the first and last bit of output, but then 
there's a button which will show progressively more output.  See the 
last example at 
http://reference.wolfram.com/mathematica/tutorial/ShortAndShallowOutput.html.

Jason



More information about the IPython-dev mailing list