[IPython-dev] Some ideas for more hooks

Frédéric Mantegazza mantegazza at ill.fr
Thu Mar 17 07:33:26 EST 2005

(Fernando, you sent your answer both on my personnal address and on ipython 
list, but I only received it from my address. Is it normal ? My mailer does 
not remove any message, even if it is cross-posted...)

Le Mercredi 16 Mars 2005 20:44, Fernando Perez a écrit :

> > 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.

I will update my document if I have new ideas or needs ;o)

> > 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.

We do not have public page, but Ican make a little paper for you (I already 
did for the Pyro project page).

> >   New exception handler.
> I need more specific details than this.

I didn't post it, but I have a little piece of code to overload 
IPython.iplib.InteractiveShell.runcode() method. In this method, I just 
catch our PyMAD project exceptions, and print a message instead of the 

I also catch a Pyro exception. I would like to be able here to get the code 
which lead to the error, because I would like to make an automatic ribind 
on the pyro object which as failed.

> >   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.

Yes, I want to avoid the user to delete some our Pyro remote object proxies, 
through the del operator. The idea is to give ipython a list of objects 
which can't be deleted.

But I understand it is not very easy to do. Let it at the bottom of your 
todo list !


More information about the IPython-dev mailing list