93 lines
3.0 KiB
Plaintext
93 lines
3.0 KiB
Plaintext
|
PEP: 291
|
|||
|
Title: Backward Compatibility for Standard Library
|
|||
|
Version: $Revision$
|
|||
|
Last-Modified: $Date$
|
|||
|
Author: neal@metaslash.com (Neal Norwitz)
|
|||
|
Status: Active
|
|||
|
Type: Informational
|
|||
|
Created: 06-Jun-2002
|
|||
|
Post-History:
|
|||
|
Python-Version: 2.3
|
|||
|
|
|||
|
|
|||
|
Abstract
|
|||
|
|
|||
|
This PEP describes the packages and modules in the standard
|
|||
|
library which should remain backward compatible with previous
|
|||
|
versions of Python.
|
|||
|
|
|||
|
|
|||
|
Rationale
|
|||
|
|
|||
|
Authors have various reasons why packages and modules should
|
|||
|
continue to work with previous versions of Python. In order to
|
|||
|
maintain backward compatibility for these modules while moving the
|
|||
|
rest of the standard library forward, it is necessary to know
|
|||
|
which modules can be modified and which should use old and
|
|||
|
possibly deprecated features.
|
|||
|
|
|||
|
Generally, authors should attempt to keep changes backward
|
|||
|
compatible with the previous released version of Python in order
|
|||
|
to make bug fixes easier to backport.
|
|||
|
|
|||
|
|
|||
|
Features to Avoid
|
|||
|
|
|||
|
The following list contains common features to avoid in order
|
|||
|
to maintain backward compatibility with each version of Python.
|
|||
|
This list is not complete! It is only meant as a general guide.
|
|||
|
|
|||
|
Note the features to avoid were implemented in the following
|
|||
|
version. For example, features listed next to 1.5.2 were
|
|||
|
implemented in 2.0.
|
|||
|
|
|||
|
Version Features
|
|||
|
------- --------
|
|||
|
1.5.2 string methods, Unicode, list comprehensions,
|
|||
|
augmented assignment (eg, +=), zip(), import x as y,
|
|||
|
dict.setdefault(), print >> f, calling f(*args, **kw),
|
|||
|
plus 2.0 features
|
|||
|
|
|||
|
2.0 nested scopes, rich comparisons, function attributes,
|
|||
|
plus 2.1 features
|
|||
|
|
|||
|
2.1 use of object or new-style classes, iterators,
|
|||
|
using generators, nested scopes, or //
|
|||
|
without from __future__ import ... statement,
|
|||
|
plus 2.2 features
|
|||
|
|
|||
|
2.2 bool, True, False, basestring, enumerate(), {}.pop(),
|
|||
|
PendingDeprecationWarning, Universal Newlines,
|
|||
|
plus 2.3 features
|
|||
|
|
|||
|
|
|||
|
Backward Compatible Packages, Modules, and Tools
|
|||
|
|
|||
|
Package/Module Maintainer(s) Python Version
|
|||
|
-------------- ------------- --------------
|
|||
|
compiler Jeremy Hylton 2.1
|
|||
|
distutils Andrew Kuchling 1.5.2
|
|||
|
email Barry Warsaw 2.1
|
|||
|
sre Fredrik Lundh 1.5.2
|
|||
|
xml (PyXML) Martin v. Loewis 2.0
|
|||
|
xmlrpclib Fredrik Lundh 1.5.2
|
|||
|
|
|||
|
|
|||
|
Tool Maintainer(s) Python Version
|
|||
|
---- ------------- --------------
|
|||
|
scripts/freeze/modulefinder Thomas Heller 1.5.2
|
|||
|
|
|||
|
|
|||
|
Copyright
|
|||
|
|
|||
|
This document has been placed in the public domain.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Local Variables:
|
|||
|
mode: indented-text
|
|||
|
indent-tabs-mode: nil
|
|||
|
sentence-end-double-space: t
|
|||
|
fill-column: 70
|
|||
|
End:
|