[IPython-user] two feature ideas

Fernando Perez Fernando.Perez at colorado.edu
Thu Feb 10 10:56:14 CST 2005


John Hunter wrote:

Ahhhh!  So, do you want us to get started with the config system reorg, or do 
you want more and more new features, heh?  ;)

I was basically typing up the 0.6.11 release announcement, and here you are 
with this...  In punishment, I'm going to ask you (or anyone with a win32 box) 
to do a quick test if you can.  Here

http://ipython.scipy.org/dist/testing/ipython-0.6.11.win32.exe

is a win32 installer I just made with the python 2.3.5 release.  Viktor 
reported good success with 2.3.5rc1, but I'd like to double check with an 
installer made by me, on a linux box.  The question is whether this can 
complete, without crashing, a full install IF you point it to install for 
python 2.4.  This installer detects your python versions at startup, and will 
ask which one you want to install for.  What we saw a few weeks ago was that, 
if pointed to 2.4, it crashed at the end.  I'd like to know whether this has 
really been fixed or not.

> 1) Lines ending in semicolon would suppress standard out.  Eg,
>    functions returning arrays in matplotlib (hist) can cause a screen
>    dump.  
> 
>    >>> hist(something);
> 
>    if the line ended in semicolon would break no python code and would
>    be useful for interactive sessions.  

I'll have a look at how hard it is.  Note that a trailing ';' already 
suppresses printing of returned results, while still handling the output cache 
correctly:

In [1]: rand(12);

In [2]: Out[1]
Out[2]:
array([ 0.986274,  0.627293,  0.241915,  0.253488,  0.147529,  0.430813, 
0.111509,  0.568377,
              0.412148,  0.997202,  0.156555,  0.395049])

It does not, however, fully muzzle stdout:

In [3]: print rand(12);
[ 0.596813  0.586058  0.054006  0.576908  0.35923   0.090598  0.823527 
0.944547  0.651025
        0.997144  0.471073  0.237908]


Would you like stdout to be completely shut out, even in the face of print 
statements in the running code?  I can try to do this, but it's a bit tricky 
and potentially unreliable.  I can't really control if third-party code tries 
to rewrite what sys.stdout is underneath me.  What do you think?

> 2) Is it possible for ipython not to block on an edit command.  Eg, if
>    I dump a data file in ipython and am using emacsclient to feed data
>    to my running emacs session in X,  I would like to be able to send
>    the data file to emacs with 
> 
>    >>> edit 'somefile.dat'
> 
>    and not have it block my ipython session (and my gtk app I'm
>    running under gthread)

Mmh, I'll have a look, but this may have to wait a day or two.  The %edit code 
is convoluted, so I need to make sure I put things in the right place.  Note 
that I'll have to do this by adding an optional flag, which will then fully 
disable the running of edited code, since I can't know when the editing 
command is considered to be finished.  Right now, %edit is very serial: send 
code to editor, wait for it to return, execute the saved file.  Since I don't 
know how to make %edit communicate with an editor (not in a cross-platform, 
generic way), for execution of the edited code, this is just about the only 
solution.  But by giving up execution, what you want may be doable.  I'll see 
what I can do.

> Is the namespace merge feature in CVS yet?

Yes, I just committed everything in preparation for the .11 release.  So my 
tree and CVS are now synced up.

Best,

f




More information about the IPython-user mailing list