[IPython-dev] Pasting fix, unicode woes

Fernando Perez fperez.net at gmail.com
Wed Sep 8 22:40:14 EDT 2010

Hi Thomas,

On Wed, Sep 8, 2010 at 3:26 PM, Thomas Kluyver <takowl at gmail.com> wrote:
> Is using conditional code a path we want to take? I'd intended the code to
> form a separate 'py3 only' branch, which could be kept up to date with
> changes in the main branch. It would take quite a lot of conditional code to
> support 2.x and 3.x on a single version.

That's a good question, to which I honestly don't have an answer yet
for lack of experience.  I haven't done any more than very cursory
playing with py3, so my intuition here fails me.

The issue is balancing:

- the nastiness of a codebase chock full of conditionals

- the load of maintaining two codebases without them diverging.

I really don't know which way the balance will tilt between these
competing forces; I'm more than happy to hear from you or others on
this matter.

For now you're doing the bulk of the work so I'm happy to follow your
lead, as your hands-on experience will inform your judgment much
better than any thought experiment I can cook up.

If you think that syncing a py3 branch with semi-automatic conversion
is feasible, then that's fine with me.  It would let us develop on a
single, clean py2-compatible codebase at least for a while longer.
We'd certainly be mindful of evolving that branch as closely as
possible in the py3 direction over time.

> I've started a 2.x branch updating bits of the code to what is supported in
> 2.6, as you suggested:
> http://github.com/takowl/ipython/tree/ipy3-preparation
> I'll update this from newkernel, and try to synchronise ipy3-newkernel.

Great.  Keep us posted, and when you think you are ready to start
considering changes from -prep back upstream, we'll look at them.

I hope we'll be merging newkernel into ipython/trunk soon enough (next
week, hopefully) so that from now on you could be following just
trunk.  The mad sprint on newkernel is calming down and it looks like
we pulled it off without burning down the house, so we should be able
to move back to a model with a stable trunk and small, localized
feature branches that you can ignore until their content finds its way
into trunk.



More information about the IPython-dev mailing list