python-peps/pep-0320.txt

221 lines
7.2 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
or codec.
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: