[IPython-dev] questions about the notebook interface
Hans Meine
hans_meine at gmx.net
Sun Jul 3 12:35:19 EDT 2005
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.
--
Ciao, / /
/--/
/ / ANS
*: DISCLAIMER: I am no professional software engineer, so my notion of "user
stories" could be a little bit simplified, but hopefully still useful.
More information about the IPython-dev
mailing list