[IPython-dev] Some ideas for more hooks

Fernando Perez Fernando.Perez at colorado.edu
Wed Mar 16 13:44:48 CST 2005


Frédéric Mantegazza wrote:
> Hello Fernando,
> 
> Here is a little paper to explain the (unusual) way we are using ipython in 
> our application (PyMAD). This is a summary of our needs of internal 
> interaction with ipython to make something very powerfull.
> 
> I hope it will help you to re-design ipython with user customizable hooks.

OK, this is excellent.  Some of these will probably take time, but I'll use 
this as a driving document for how to best integrate ipython with a 
third-party project.

And anyone else out there who uses ipython for their engine: please send me 
something like this, which spells out which public parts make sense for your 
project to be cleanly exposed.  It's hard for me to guess ahead of time what 
people may need, as much as I try.   A document like this allows me to 
actually organize things for real-world usability, instead of theoretical (and 
perhaps irrelevant) benefits I can come up with.

> PS : PyMAD is a software we are developping to control spectrometers, big 
> neutrons instruments.

Do you have a public page mentioning it?  I've made a little list of links to 
projects which use ipython, I'd like to add yours.

> 3) ipython needs
> ----------------

[...]

for now, if I don't comment on something, assume I got it and will put it on 
my todo list.

>   New exception handler.

I need more specific details than this.

>   Prevent objects from beeing deleted from global namespace.

What do you mean?  Do you want to block the 'del' operator?  Please give me 
better details.  IPython's namespace handling is a bit delicate, so this has 
to be done with care.

>   Prompt modification at run-time (already solved. I have to do some tests)

Let me know if it worked.

>   Access to the command-line interpreter, to have ipython interprets code has if
>   it was entered through keyboard (ie make difference between magic commands and
>   normal python code).

This is the hardest, and yet it is very important.  I'll have to do it for 
other reasons, but it may take a bit longer.

Again, thanks for the details.  A document like this is actually _useful_ to 
me, and from it I can move on with specific improvements.

Best,

f




More information about the IPython-dev mailing list