[Python-Dev] source-level backward compatibility requirements

Guido van Rossum guido at python.org
Fri Dec 5 11:15:57 EST 2003


> 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.

Unfortunately, this would make apply even slower than the system
version with the silent deprecation warning. :-(

I'd rather drop 1.5.2 compatibility for the logging module *as it is
in CVS*.  1.5.2 users can continue to use the last version that was
distributed by its author independently.

--Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-Dev mailing list