220 lines
7.2 KiB
Plaintext
220 lines
7.2 KiB
Plaintext
PEP: 320
|
||
Title: Python 2.4 Release Schedule
|
||
Version: $Revision$
|
||
Author: Barry Warsaw and Raymond Hettinger
|
||
Status: Incomplete
|
||
Type: Informational
|
||
Created: 29-Jul-2003
|
||
Python-Version: 2.4
|
||
Post-History:
|
||
|
||
Abstract
|
||
|
||
This document describes the development and release schedule for
|
||
Python 2.4. The schedule primarily concerns itself with PEP-sized
|
||
items. Small features may be added up to and including the first
|
||
beta release. Bugs may be fixed until the final release.
|
||
|
||
There will be at least two alpha releases, two beta releases, and
|
||
one release candidate. The release date is not yet fixed but a
|
||
rough target for the first alpha is July 2004.
|
||
|
||
land generator expressions -- first week of May (this PEP seems to
|
||
be the largest potential source of upheaval, so it should go
|
||
in well before the alpha release).
|
||
alpha 1 -- second week of July 2004
|
||
alpha 2 -- four weeks later
|
||
beta 1 -- TBD (perhaps August) depending on the number of bugs
|
||
in the alphas.
|
||
final -- September? This will depend on how the alphas and betas
|
||
go, and might be pushed back if several rounds of bugfixing are needed.
|
||
|
||
|
||
Release Manager
|
||
|
||
Anthony Baxter
|
||
|
||
|
||
Completed features for 2.4
|
||
|
||
PEP 218 Builtin Set Objects
|
||
|
||
PEP 322 Reverse Iteration
|
||
|
||
Encapsulate the decorate-sort-undecorate pattern in a keyword for
|
||
list.sort().
|
||
|
||
Added a builtin called sorted() which may be used in expressions.
|
||
|
||
The itertools module has two new functions, tee() and groupby().
|
||
|
||
|
||
|
||
Planned features for 2.4
|
||
|
||
PEP 289 Generator expressions.
|
||
|
||
PEP 292 Simpler String Substitutions to be implemented as a module.
|
||
|
||
PEP 318: Function/method decorator syntax
|
||
|
||
PEP 327: A Decimal package for fixed precision arithmetic.
|
||
|
||
PEP 328: Imports: Multi-line and Absolute/Relative. (Possibly
|
||
the absolute/relative stuff is too controversial and will be
|
||
pushed off to 2.4.)
|
||
|
||
Deprecate and/or remove the modules listed in PEP 4 (posixfile,
|
||
gopherlib, audioop, pre, others)
|
||
|
||
Remove support for platforms as described in PEP 11.
|
||
|
||
Add a module for statistical and reduction functions:
|
||
stddev, average, nlargest, nsmallest, product, etc.
|
||
|
||
Add collections package:
|
||
- deque/queue (suggested by Raymond)
|
||
- BTrees (suggested by Tim)
|
||
- ? bag (only if use cases established)
|
||
- ? heap (with a min/max option flag, a key= option,
|
||
and implemented as a fibonacci heap)
|
||
|
||
Possibly add 'diff3' and 'patch' functions to the difflib module.
|
||
|
||
Finish implementing the Distutils bdist_dpkg command. (AMK)
|
||
|
||
Add support for reading shadow passwords (www.python.org/sf/579435)
|
||
|
||
It would be nice if the built-in SSL socket type could be used
|
||
for non-blocking SSL I/O. Currently packages such as Twisted
|
||
which implement async servers using SSL have to require third-party
|
||
packages such as pyopenssl.
|
||
|
||
AST-based compiler: if this branch can land in the trunk by early
|
||
May, it can go in. Otherwise it can wait for a future release.
|
||
|
||
|
||
Ongoing tasks
|
||
|
||
The following are ongoing TO-DO items which we should attempt to
|
||
work on without hoping for completion by any particular date.
|
||
|
||
- Documentation: complete the distribution and installation
|
||
manuals.
|
||
|
||
- Documentation: complete the documentation for new-style
|
||
classes.
|
||
|
||
- Look over the Demos/ directory and update where required (Andrew
|
||
Kuchling has done a lot of this)
|
||
|
||
- New tests.
|
||
|
||
- Fix doc bugs on SF.
|
||
|
||
- Remove use of deprecated features in the core.
|
||
|
||
- Document deprecated features appropriately.
|
||
|
||
- Mark deprecated C APIs with Py_DEPRECATED.
|
||
|
||
- Deprecate modules which are unmaintained, or perhaps make a new
|
||
category for modules 'Unmaintained'
|
||
|
||
- In general, lots of cleanup so it is easier to move forward.
|
||
|
||
|
||
Open issues
|
||
|
||
None at this time.
|
||
|
||
|
||
Carryover features from Python 2.3
|
||
|
||
- The import lock could use some redesign. (SF 683658.)
|
||
|
||
- A nicer API to open text files, replacing the ugly (in some
|
||
people's eyes) "U" mode flag. There's a proposal out there to
|
||
have a new built-in type textfile(filename, mode, encoding).
|
||
(Shouldn't it have a bufsize argument too?)
|
||
|
||
- New widgets for Tkinter???
|
||
|
||
Has anyone gotten the time for this? *Are* there any new
|
||
widgets in Tk 8.4? Note that we've got better Tix support
|
||
already (though not on Windows yet).
|
||
|
||
- PEP 304 (Controlling Generation of Bytecode Files by Montanaro)
|
||
seems to have lost steam.
|
||
|
||
- For a class defined inside another class, the __name__ should be
|
||
"outer.inner", and pickling should work. (SF 633930. I'm no
|
||
longer certain this is easy or even right.)
|
||
|
||
- reST is going to be used a lot in Zope3. Maybe it could become
|
||
a standard library module? (Since reST's author thinks it's too
|
||
instable, I'm inclined not to do this.)
|
||
|
||
- Decide on a clearer deprecation policy (especially for modules)
|
||
and act on it. For a start, see this message from Neil Norwitz:
|
||
http://mail.python.org/pipermail/python-dev/2002-April/023165.html
|
||
There seems insufficient interest in moving this further in an
|
||
organized fashion, and it's not particularly important.
|
||
|
||
- Provide alternatives for common uses of the types module;
|
||
Skip Montanaro has posted a proto-PEP for this idea:
|
||
http://mail.python.org/pipermail/python-dev/2002-May/024346.html
|
||
There hasn't been any progress on this, AFAICT.
|
||
|
||
- Use pending deprecation for the types and string modules. This
|
||
requires providing alternatives for the parts that aren't
|
||
covered yet (e.g. string.whitespace and types.TracebackType).
|
||
It seems we can't get consensus on this.
|
||
|
||
- PEP 262 Database of Installed Python Packages Kuchling
|
||
|
||
This turns out to be useful for Jack Jansen's Python installer,
|
||
so the database is worth implementing. Code will go in
|
||
sandbox/pep262.
|
||
|
||
- PEP 269 Pgen Module for Python Riehl
|
||
|
||
(Some necessary changes are in; the pgen module itself needs to
|
||
mature more.)
|
||
|
||
- PEP 266 Optimizing Global Variable/Attribute Access Montanaro
|
||
PEP 267 Optimized Access to Module Namespaces Hylton
|
||
PEP 280 Optimizing access to globals van Rossum
|
||
|
||
These are basically three friendly competing proposals. Jeremy
|
||
has made a little progress with a new compiler, but it's going
|
||
slowly and the compiler is only the first step. Maybe we'll be
|
||
able to refactor the compiler in this release. I'm tempted to
|
||
say we won't hold our breath.
|
||
|
||
- Lazily tracking tuples?
|
||
http://mail.python.org/pipermail/python-dev/2002-May/023926.html
|
||
http://www.python.org/sf/558745
|
||
Not much enthusiasm I believe.
|
||
|
||
- PEP 286 Enhanced Argument Tuples von Loewis
|
||
|
||
I haven't had the time to review this thoroughly. It seems a
|
||
deep optimization hack (also makes better correctness guarantees
|
||
though).
|
||
|
||
- Make 'as' a keyword. It has been a pseudo-keyword long enough.
|
||
Too much effort to bother.
|
||
|
||
|
||
Copyright
|
||
|
||
This document has been placed in the public domain.
|
||
|
||
|
||
|
||
Local Variables:
|
||
mode: indented-text
|
||
indent-tabs-mode: nil
|
||
End:
|