future of python3...

On Tue, 2011-05-03 at 08:22 -0700, Rob Healey wrote:
> Greetings:
>> I know that I truly do NOT understand the momentous task involved in
> this idea, but I would like to ask it nevertheless!
>> Does anyone has any ideas or planned feature requests for updating
> Fedora to python3 instead of python2?
We use Python a lot within Fedora; key system components such as
anaconda and yum are written in Python - Python 2, that is.
We added a Python 3 stack in Fedora 13, parallel-installable with the
main Python 2 stack [1]
Since then, we've been slowly building out the Python 3 stack. You can
see the current status here:
http://fedoraproject.org/wiki/Python3
So Python 3 is usable on Fedora - I've used it myself on some new code
that I've written, and the new version of the language does "feel nicer"
than Python 2 to me.
If you're want to help get more Python 3 into Fedora, there are at least
two ways I can think of:
- help upstream projects port from Python 2 to Python 3. This may
mean e.g. adding new automated test coverage to the existing project,
since having good automated test coverage is invaluable.
- help package Python 3 code for Fedora. But it's important to work
with upstream on this: don't just run 2to3 on the code.
I hope that at some point enough of the underlying stack will have been
ported to Python 3 that yum and anaconda can switch over (they need to
do so together) - but that's a judgement call for the yum and anaconda
folks to make. Last time I looked, anaconda had a _lot_ of
dependencies, many of them very old code, without great automated test
coverage. So writing automated tests for those deps might be a place to
look at, for those interested in this.
Some other distributions have changed /usr/bin/python to signify python
3, rather than python 2. I don't see us doing that at this time: it
would break too many things, and I don't see any real benefit.
> And gnome3 to python3...?
That's already possible, to some extent; the gobject-introspection code
supports both Python 2 and Python 3. So if you have a .gir interface
file for a library, in theory you already have Python 3 bindings for
that code (This is in Fedora 15 onwards as the python3-gobject rpm,
built as as a subpackage of pygobject2; I did some of the early work on
the Python 3 port, but John Palmieri and others know far about this than
I).
Hope this is helpful
Dave
[1] http://fedoraproject.org/wiki/Features/Python3F13