[FWD] Re: [IPython-dev] questions about the notebook interface

Fernando Perez Fernando.Perez at colorado.edu
Fri Jul 1 02:46:00 EDT 2005

[I'm forwarding this manually to the list, please subscribe for future 
postings as the ipython lists unfortunately are off limits for 
non-subscribers, due to excessive spam]

> Subject: Re: [IPython-dev] questions about the notebook interface
> From: Hans Meine <meine at kogs1.informatik.uni-hamburg.de>
> Date: Thu, 30 Jun 2005 11:49:00 +0200
> To: ipython-dev at scipy.net
> Hi!
> On Tuesday 28 June 2005 17:36, Toni Alatalo wrote:
>>>I've thought that XEmacs could be the first environment to target for
>>>interactive use, since it already almost has everything we need in its
>>>python-mode/ipython combination.  In the meantime, Tsanko can work on
>>>the more ambitious GUI-oriented project he applied for.
>>fine with me, as emacs is what i always use for programming otherwise too.
>>.. looking forward to hearing the GUI ideas too
> I just want to stress the part of "the notebook interface" that is of greatest 
> importance to me, since most of these discussion did not seem to be concerned 
> with it:  The interactive programming aspect.
> Actually, I don't care much about the final layouting; the biggest feature of 
> a "notebook interface" in my eyes would be that I can incrementally write and 
> debug a program, correcting my mistakes and ending up with a "clean history".
> Right now, ipython is the best environment for my work, but I have to manually 
> extract "good" code fragments.  The most important thing in my eyes would be 
> a possibility to edit and re-run my code without *appending* to the history, 
> but just correcting and extending the existing "In [xx]: " paragraphs.  That 
> would be especially handy in combination with loops, too.
> Maybe I should propose developing / collecting proper user stories first, then 
> you could decide on their priorities and start creating solutions for 
> existing problems (there may well be people focused on layout, which could 
> give another user story).
> Some short user stories(*):
> ------------------------------ >8 snip 8< ----------------------------------
> I am planning to analyse a multidimensional data structure.  I am writing a 
> loop, collecting data but then realize that I need to initialize a variable 
> *before* the loop.  In ipython, I can only cancel the current edit, type the 
> initialization and fetch all lines from the history (or retype them) 
> one-by-one.  What I'd like to be able to do is to just press cursor up, 
> insert a line, and continue further down, then execute the whole loop.
> I successfully analyzed some data derived from images.  Now I want to change 
> some preprocessing parameters and re-run the analysis.  Again, I want to 
> insert / change some code at the beginning and re-execute several blocks of 
> commands that use the now changed variables.
> It would be useful if some sort of dependency graph could be generated.  E.g. 
> when I change a "cell" (piece of code) which (re-)assigns variables, all code 
> fragments (cells) that depend on these results (use that variable) should be 
> marked as "dirty".  Automatic execution of these cells should not be the 
> goal, since that could be unwanted by the user, need a long time, and/or 
> destroy/overwrite precious results.
> For image processing purposes, I want to be able to have image objects that 
> result from python expressions shown as embedded images in the notebook.
> Similarly, I'd like to have graphs (e.g. from Gnuplot.py) be embedded in the 
> notebook.
> A friend of mine wants to be able to write longer Mathematic-like notebooks, 
> and needs proper namespacing for chapters/sections, so that variable names 
> can be re-used.
> ------------------------------ >8 snip 8< ----------------------------------
> Actually, the xemacs approach seems to be promising to me, I am looking 
> forward to further information / results / input.

More information about the IPython-dev mailing list