Plans for Python 3.3 (and 3.4) availability

Registered by Barry Warsaw

Python 3.3 will be released by August 2012, theoretically in time for 12.10. Should we make it available in Quantal, and if so, do we keep Python 3.2 or only support Python 3.3.

Long term, if history is any guide, Python 3.4 could be released by February 2014, which is probably too late for 14.04 LTS, although we make the alphas/betas available early in that cycle and switch to the final release by 14.04 final.

Some arguments for supporting 3.3 in 12.10 include proper support for namespace packages (likely, PEP 420) and built-in virtualenv, among lots of other improvements. Arguments against supporting 3.3 include not being sure that all our packages build against it (especially since it's still in alpha as we speak). Arguments against supporting both 3.2 and 3.3 include the additional disk image space necessary to support both. Arguments for supporting both include a longer and better transition period to a presumably 14.04 LTS world where only Python 3.3 is supported.

We also need to consider how this will work with Debian, with their planned freeze in June, after which we can't switch the default Python 3 version.

Blueprint information

Not started
Steve Langasek
Barry Warsaw
Barry Warsaw
Series goal:
Accepted for quantal
Milestone target:
milestone icon quantal-alpha-2


Only one Python 3 version for 14.04 LTS
Will Python 3.3 be ready for 12.10?
Will Python 3.4 ABI freeze be ready in time for 14.04? (ABI freeze probably 2 months before final release. If history holds, 3.4 final may be scheduled for Feb 2014, putting ABI freeze, aka beta 1 around Dec 2013).
Wheezy+1 and 14.04 LTS Python 3 alignment - maybe!

2012-06-16: beta 2 delayed one week to 2012-07-21.
2012-07-26: POX to refactor for fixing LP: #1026203 (on Debian side) but probably not ready in time.
2012-07-26: 3.3 will not be the default in 12.10. Let's make the switch early in 13.04

Build failures with python3.3:<email address hidden>;tag=python3.3

Release Notes:
Python 3.3 final is available in Ubuntu 12.10, but Python 3.2 remains the default Python 3 version for 12.10. Python 2.7 is available as the default and only supported Python 2 version.


Work Items

Work items:
[doko] Set up a ppa that barry and doko can upload to (and any other volunteers): POSTPONED
[doko] Upload python-defaults in ppa switch to default use 3.3: POSTPONED
[doko] Write script to pick up new uploads in the archive and "sync" those into the PPA for rebuilds: POSTPONED
[doko] make sure test-suites are run at build time: POSTPONED
[doko] run runtime test-suites ( POSTPONED
[doko] to check on whether extensions need source changes for the change to flexible strings in python3.3: POSTPONED
[barry] work with Debian python (apps/modules) teams for python3.3 migration and identify how best to provide feedback regarding ppa builds: POSTPONED
make sure universal_newlines behavior change affecting stdin doesn't cause regressions in the distro: POSTPONED

Work items for quantal-alpha-3:
[barry] if python 3.3 beta-1 slips beyond July 20, scrap for 12.10 (released on June 27: DONE
make the cut from 3.2 to 3.3 in a single rebuild, not in a two-stage rebuild.: POSTPONED
[barry] advertise that 3.3 is TARGETTED as default: POSTPONED
[barry] LP: #1026203 is critical: POSTPONED