Line 120: | Line 120: | ||
<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ --> | <!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ --> | ||
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. --> | <!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. --> | ||
The system Python 3 stack has been upgraded to 3.3 (the system Python 2 stack remains at 2.7), bringing in hundreds of fixes and tweaks; for a list of changes see http://docs.python.org/dev/whatsnew/3.3.html | |||
== Comments and Discussion == | == Comments and Discussion == |
Revision as of 20:58, 19 July 2012
Python 3.3
Summary
Update the Python 3 stack in Fedora from 3.2 to 3.3
Owner
- Name: Dave Malcolm
- Email: <dmalcolm@redhat.com>
Current status
- Targeted release: Fedora 18
- Last updated: 2012-07-19
- Percentage of completion: 0%
Upstream is at feature freeze for 3.3; latest tarball release is Python 3.3.0 beta 1, released on June 27th, 2012.
Month | Python 3.3 release schedule) | Fedora 18 Schedule | Fedora 19 Schedule |
---|---|---|---|
March | 3.3.0 alpha 1: March 3, 2012 | ||
3.3.0 alpha 2: March 31, 2012 | |||
April | 3.3.0 alpha 3: April 28, 2012 | ||
May | 3.3.0 alpha 4: May 26, 2012 | Start Feature Submission Wed 2012-05-02 | |
June | 3.3.0 beta 1: June 23, 2012: (No new features beyond this point.) | ||
July | 3.3.0 beta 2: July 14, 2012 | ||
Feature Submission Deadline Tue 2012-07-24 | |||
3.3.0 candidate 1: July 28, 2012 | |||
Feature Freeze (Testable/Complete) Tue 2012-08-07 | |||
Branch Fedora 18 from Rawhide Tue 2012-08-07 | |||
August | 2012-08-14 Alpha Change Deadline | ||
3.3.0 candidate 2: August 11, 2012 | |||
2012-08-28 Alpha Release | |||
3.3.0 final: August 18, 2012 | |||
September | 2012-09-18 Beta Change Deadline / Features 100% Complete |
Note: Fedora 18 schedule above is based on Releases/18/Schedule as 2012-07-19
Detailed Description
Python 3.3 adds numerous features and optimizations. See the upstream notes at http://www.python.org/getit/releases/3.3.0/ and http://docs.python.org/dev/whatsnew/3.3.html
Benefit to Fedora
Fedora aims to showcase the latest in free and open source software - we should have the most recent release of Python 3.
Scope
Compare with the Python 3.2 feature page.
We need to wait for Python 3.3 to reach feature freeze, so that the bytecode format for .pyc files is frozen, together with the ABI for extension modules.
At that point we can rebase python3 to the latest release candidate of that code. We would then need to rebuild all python 3 packages. See https://fedoraproject.org/wiki/Python3#Python_3_already_in_Fedora
For bonus points, we ought to tell "file" and "rpmlint" about the new bytecode format for .pyc files.
Note that the suffix of some files should change, and this may require slight packaging tweaks in the various packages that ship Python 3 code:
- bytecode files changing from .cpython-32.pyc (and .cpython-32.pyo) to .cpython-33.pyc (and .cpython-32.pyo)
- extension modules changing from .cpython-32mu.so to .cpython-33m.so (the "u" part goes away as part of PEP 393).
How To Test
Interested testers do not need special hardware. If you have a favorite Python 3 script, module, or application, please test it with Python 3.3 and verify that it still works as you expect.
My own test plan:
- Smoketest of the interpreter
- Run the upstream regression test suite (this is done during %check)
User Experience
Users should not notice any difference, other than the availability of the 3.3 interpreter
Dependencies
See notes in "Scope" above.
Contingency Plan
Documentation
Release Notes
The system Python 3 stack has been upgraded to 3.3 (the system Python 2 stack remains at 2.7), bringing in hundreds of fixes and tweaks; for a list of changes see http://docs.python.org/dev/whatsnew/3.3.html