PEPs 273+302 have landed.
New ideas: - Add reST? - Fix new-style pickling - Remove __safe_for_unpickling__
This commit is contained in:
parent
dcab216455
commit
070e5cfa2e
66
pep-0283.txt
66
pep-0283.txt
|
@ -40,16 +40,27 @@ Open issues
|
|||
|
||||
- Set API issues; is the sets module perfect?
|
||||
|
||||
I expect it's good enough to stop polishing it until we've had
|
||||
more widespread user experience.
|
||||
|
||||
- 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?)
|
||||
|
||||
Ditto.
|
||||
|
||||
- Fredrik Lundh's basetime proposal:
|
||||
http://effbot.org/ideas/time-type.htm
|
||||
|
||||
I believe this is dead now.
|
||||
|
||||
- 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).
|
||||
|
||||
|
||||
Completed features for 2.3
|
||||
|
||||
|
@ -140,6 +151,15 @@ Completed features for 2.3
|
|||
may be tweaking the API during the alpha test period, I consider
|
||||
this module basically complete -- except for its documentation.
|
||||
|
||||
- PEP 273 Import Modules from Zip Archives Ahlstrom
|
||||
|
||||
Implemented as a part of the PEP 302 implementation work.
|
||||
|
||||
- PEP 302 New Import Hooks JvR
|
||||
|
||||
Implemented (though the 2.3a1 release contained some bugs that
|
||||
have been fixed post-release).
|
||||
|
||||
|
||||
Planned features for 2.3
|
||||
|
||||
|
@ -152,18 +172,50 @@ Planned features for 2.3
|
|||
feedback to python-dev@python.org; I hope to maintain this for the
|
||||
life of the 2.3 development process.
|
||||
|
||||
- reST is going to be used a lot in Zope3. Maybe it could become
|
||||
a standard library module?
|
||||
|
||||
- I really, really, really would like to improve pickling of
|
||||
new-style classes.
|
||||
|
||||
I've finally come to the conclusion that any solution to making
|
||||
pickled new-style class instances (and hence pickled datetime
|
||||
objects) more efficient will require adding new codes to the
|
||||
pickle protocol.
|
||||
|
||||
We can do that in Python 2.3. Because this is backwards
|
||||
incompatible, I propose that you have to request this protocol
|
||||
explicitly. I propose to "upgrade' the binary flag to a general
|
||||
"protocol version" flag, with values:
|
||||
|
||||
0 - original protocol
|
||||
1 - binary protocol
|
||||
2 - new protocol
|
||||
|
||||
The new protocol can contain an explicit pickle code for the new
|
||||
datetime objects. That's about all the thinking I've done so
|
||||
far. We need to decide on the new format, but first we must
|
||||
figure out ways how to efficiently pickle and unpickle subclass
|
||||
instances of (picklable) built-in types, preferably without
|
||||
having to copy all the data twice, and instances of new-style
|
||||
classes with slots. And we need to implement these twice: in
|
||||
Python for pickle.py and in C for cPickle.py.
|
||||
|
||||
- I'd also like to get rid of __safe_for_unpickling__ and all
|
||||
other pseudo security features. Attempting to unpickle pickles
|
||||
from an untrusted source is insane, and nothing can help us
|
||||
there; I'd rather make the marshal protocol bulletproof (all it
|
||||
needs is a few more checks for inconsistent data and a little
|
||||
better error handling).
|
||||
|
||||
- For a class defined inside another class, the __name__ should be
|
||||
"outer.inner", and pickling should work.
|
||||
|
||||
- PEP 273 Import Modules from Zip Archives Ahlstrom
|
||||
|
||||
There's a patch at http://www.python.org/sf/492105; an updated
|
||||
patch at http://www.python.org/sf/645650; but my expectation is
|
||||
that this will be subsumed by the PEP 302 work.
|
||||
Ongoing tasks
|
||||
|
||||
- PEP 302 New Import Hooks JvR
|
||||
|
||||
This looks very promising. See http://www.python.org/sf/652586
|
||||
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.
|
||||
|
|
Loading…
Reference in New Issue