[IPython-dev] News, refactoring and getting 0.10 out the door...

Fernando Perez fperez.net at gmail.com
Tue Jul 28 14:50:51 EDT 2009


Hi folks,

after a real-life provoked long silence, we have some good news to report...

You may have seen Brian's recent refactoring posts and excellent work.
 Thanks to IPython's importance for one of our projects at work, NIPY
(http://neuroimaging.scipy.org), we've been able to secure some
funding so that Brian can spend a concentrated amount of time on this
critically needed refactoring work.  This is in a sense the logical
outcome of the ipython1/0 merge, and it will let us revitalize the
project in a number of useful directions.  I'd like to thank the NIPY
project for this support, since for a long time we've needed this kind
of solid block of time to achieve such a restructuring but had never
been able to support it.

Which brings us to the next point...  A few months ago we did a bunch
of work on cleaning up the code we had to push 0.10 out, and then life
got messy and the actual release never happened.

Well, now we should really try to finish up, especially so that the
code that has been written can be merged as soon as possible for Brian
to push the refactoring into trunk.  Brian's refactoring is massive
and touches everything, so initially there is going to be some
breakage (we'll do our best to minimize it and Brian is super careful,
but some pain will no doubt occur).  For this reason, and to prevent
stalling Brian's advance, I'd like to wrap up the 0.10 release work as
soon as possible.

Status:

- Branch reviews: https://code.launchpad.net/ipython/+activereviews

  * Two of these (the approved ones) I will merge soon if nobody
objects in the next few hours.
  * Ondrej's embedding fix is set for 0.11, so it can be merged after
Brian's code is in (I want a bit of tuning on the interface there, and
the change is highly localized, so this won't be a problem).
  * Brian's is the refactoring itself, so it's not for 0.10
  * We have 3 remaining ones, one by Tom and two by Ville, that have
been awaiting small fixes for a while.

On the 3 last ones, it seemed Tom was having some problems cleaning up
the commits after conflict markers went in.  I'll see if I can make a
cleaned-up version of that, since the actual code is pretty small.

Ville's have both pending review comments from April 15.  A lot of
that is probably fairly easy to finish up, Ville, do you think you can
address them?

- Bugs: we only have four bugs explicitly marked as critical for 0.10:

https://bugs.launchpad.net/ipython/0.10/+bugs

and 3 of them have had fixes committed.  I have a fix for the
remaining one in my local tree, that I'll push for review once I can
test it better (I'm having some weirdo nose issues right now on my
desktop).


So from a pending branches/bugs perspective, I think we're very very
close.  Given this, I'd like to consider the code frozen as of now,
unless someone strongly objects, and leave the next few days to sort
out the remaining work on the one bug and the three branches.  I'm
going to work on this today to try to help as much as I can.

If all goes well, I'd like to finish merging by Friday or Saturday.
That will then allow us to review Brian's work to merge it into trunk,
and trunk will then have diverged from the 0.10 'old' series for good.
 Any last-minute fixes for the actual 0.10 release will be only
applied on the 0.10 series branch and backported manually (by me) if
necessary to trunk.

The trunk would then be the development for the next release with the
new API.  I'm actually thinking that we should name the trunk version
0.90 instead of 0.11, to emphasize the API jump: 0.10 has the old
APIs, and 0.90 will be the start of the new APIs, targetting an actual
1.0 release on the cleaned up and refactored codebase.

Any comments on this plan?

Cheers,

f



More information about the IPython-dev mailing list