[IPython-dev] Extensions: decisions on loading them and API (thoughts from R. Kern's branch)

Ville M. Vainio vivainio at gmail.com
Tue Mar 17 12:05:52 EDT 2009

On Tue, Mar 17, 2009 at 3:47 AM, Brian Granger <ellisonbg.net at gmail.com> wrote:

> As Fernando has eluded to, it looks like I may have some funding to
> work on a refactor of the ipython core this summer.  I am very excited
> to finally get a chance to wrestle the beast into submission.

That's great news! Refactoring it does need some 8hour/day work, a
privilege it certainly hasn't ever enjoyed...

> Another way of saying this is that the user's experience will be the
> same or better, but a developer's experience will be *completely
> different*.  This will unavoidably mean API breakage.  Where
> appropriate deprecation warnings will be used, but in many cases, the
> API will change so significantly that even deprecations warnings won't
> be possible.  I will also try to do things in place and incrementally.

It's a mixed blessing that the "public" api has been quite shallow.
It's bad, because users have needed to go for InteractiveShell
directly, but it's also good in that breaking the compatibility can be
done without annoying too many ;-).

Most of the compatibility with IPApi can be retained quite easily,
even with a radically different underlying implementation. Take
expose_magic, for example, or custom completers.

> I will consult with the list extensively about design decisions and
> hopefully as things move forward, others will be interested in helping
> out.  After 0.10 is released, I will post to the list some more
> details about my near future plans.

Obvious targest that really need some care are completer.py,
OutputTrap.py, genutils.py. Something to get started anyway ;-).

Ville M. Vainio

More information about the IPython-dev mailing list