[Python-Dev] source-level backward compatibility requirements

Fred L. Drake, Jr. fdrake at acm.org
Fri Dec 5 11:11:00 EST 2003

Marc Recht writes:
 > Any change to get the patches #854796 and/or #806800 in ?

It's hard to make changes once the release candidate is out.  ;-(

I still think the use of apply() in the logging module needs to be
fixed.  Here's how I think it should be done, retaining source
compatibility for Python back to 1.5.2:

Add a new module, logging._apply, that defines apply() in terms of the
*args, **kw syntax.  The modules that use apply, "logging" and
"logging.config", would each contain these two lines near the top:

if sys.version_info >= (2, 3):
    from logging._apply import apply

That would allow a compatible version of apply() to be used for newer
Pythons without triggering the deprecation warning.  It would also
minimize the changes to the package.

Regarding the compatibility requirements in PEP 291, I think we need
to decide what in CVS those apply to:  only the trunk, or also to the
maintenance branches.


Fred L. Drake, Jr.  <fdrake at acm.org>
PythonLabs at Zope Corporation

More information about the Python-Dev mailing list