[IPython-dev] Package-specific extensions: an idea
Fernando Perez
fperez.net at gmail.com
Thu Jun 16 16:18:58 EDT 2011
On Tue, May 17, 2011 at 3:48 PM, Robert Kern <robert.kern at gmail.com> wrote:
> There's a general problem for writing package-specific extensions to IPython.
> Namely, you want to be able to write and enable an extension to IPython that
> provides special behavior for particular objects, say numpy arrays, without
> requiring that a particular package be imported at startup. You can often get by
> in ad hoc ways. For example, in the pretty-printing code, I added the ability to
> register deferred type-checking. For magic functions, you can usually just do
> local imports inside the magics.
>
> However, I've had an idea for a general solution.
I'm kind of -1 on this approach right now, mostly because I really
don't want to add more special paths to our execution logic. Instead,
we have already the ability for users to register any function they
desire to execute afterwards:
https://github.com/ipython/ipython/blob/master/IPython/core/interactiveshell.py#L689
So my suggestion would be for this to be done by the user as a
post-execute function. We can certainly provide it pre-canned to
eliminate the need for users to rewrite boilerplate, but I'd rather
keep the main run* methods as tight as they can reasonably be in the
main codebase.
How does that sound?
f
More information about the IPython-dev
mailing list