[IPython-dev] Status of pre-0.10 reviews and merges

Brian Granger ellisonbg.net@gmail....
Thu Apr 2 22:14:46 CDT 2009

> My thought here would be that the right way to go is extending thi
> IPApi, not replacing it. There is no need to remove hooks, for
> example.

At some level yes, but part of what we have to do is combine the APIs
that we have developed in IPython.kernel.core with those of ipapi.
That mashup might require more than mere "extension"  But, I just need
to get started with it and see how it goes.  This is where code review
will be _really_ important!

> It should be possible to do everything via IPApi, including the stuff
> that uses InteractiveShell directly now. One important facet it
> providing a good api for completer (should be quite easy, actually,
> but would benefit from refactoring of completer). If something seems
> like it will break ipapi (incl. hooks), postpone it and fix something
> else. Code that used an underlying InteractiveShell instance can be
> refactored to use a (new) IPApi call, but blatant breakage of ipapi
> just shouldn't be necessary.
>> parts.  But now that with ipdoctest in place it is *trivial* to write
>> tests against that functionality, it would be possible to protect the
>> code better with tests *before* diving in, so that at least there's a
>> safety net to catch us if we fall.

I agree that the stuff in ipdoctest is very important, but at some
level, the refactoring will make it much easier to test things
underneath the level of the interactive terminal prompt.  This will be
a side effect of de-coupling the core from readline and the terminal -
easier to test the small low-level components of IPython.  For example
we should be able to test the completer without the terminal or
readline in the picture.

> However, I do think that getting paid time to refactor ipython is so
> precious an opportunity that nothing should hold it back. The damage
> can be fixed later, but every delay in actually getting down to work
> should be avoided at all cost.



> --
> Ville M. Vainio
> http://tinyurl.com/vainio

More information about the IPython-dev mailing list