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?
|
- 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
|
- 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
|
people's eyes) "U" mode flag. There's a proposal out there to
|
||||||
have a new built-in type textfile(filename, mode, encoding).
|
have a new built-in type textfile(filename, mode, encoding).
|
||||||
(Shouldn't it have a bufsize argument too?)
|
(Shouldn't it have a bufsize argument too?)
|
||||||
|
|
||||||
|
Ditto.
|
||||||
|
|
||||||
- Fredrik Lundh's basetime proposal:
|
- Fredrik Lundh's basetime proposal:
|
||||||
http://effbot.org/ideas/time-type.htm
|
http://effbot.org/ideas/time-type.htm
|
||||||
|
|
||||||
|
I believe this is dead now.
|
||||||
|
|
||||||
- New widgets for Tkinter???
|
- 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
|
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
|
may be tweaking the API during the alpha test period, I consider
|
||||||
this module basically complete -- except for its documentation.
|
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
|
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
|
feedback to python-dev@python.org; I hope to maintain this for the
|
||||||
life of the 2.3 development process.
|
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
|
- For a class defined inside another class, the __name__ should be
|
||||||
"outer.inner", and pickling should work.
|
"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
|
Ongoing tasks
|
||||||
patch at http://www.python.org/sf/645650; but my expectation is
|
|
||||||
that this will be subsumed by the PEP 302 work.
|
|
||||||
|
|
||||||
- PEP 302 New Import Hooks JvR
|
The following are ongoing TO-DO items which we should attempt to
|
||||||
|
work on without hoping for completion by any particular date.
|
||||||
This looks very promising. See http://www.python.org/sf/652586
|
|
||||||
|
|
||||||
- Documentation: complete the distribution and installation
|
- Documentation: complete the distribution and installation
|
||||||
manuals.
|
manuals.
|
||||||
|
|
Loading…
Reference in New Issue