[Python-Dev] Python logging and 1.5.2 compatibility

Vinay Sajip vinay_sajip at yahoo.co.uk
Wed Sep 30 16:32:44 CEST 2009


Antoine Pitrou <solipsis <at> pitrou.net> writes:

> So, what is the minimum supported version now?

Well, each version is tested with the release of Python which it's part of, and
in theory it would be possible for the code in logging for that release to use
features only available in that release of Python. So, I'm not sure if it now
makes sense to support a minimum version. When changing the package I intend to
be conservative in terms of using the simplest, rather than using the latest
language features (say, coroutines) just because they're available.

The reason it was done for 1.5.2 was that there was already a community of users
of the "standalone" package (which was 1.5.2-compatible) before it got accepted
into Python 2.3, and it didn't make sense at the time to maintain two different
codebases - one 1.5.2-compatible and one not. Keeping it compatible meant that
1.5.2-dependent users/sysadmins could just copy the whole package and have it
work, and take advantage of bug-fixes and enhancements as they appeared.

PEP 291 (Backward Compatibility for Standard Library) mentions logging as having
1.5.2 compatibility, and I'm thinking that it can be removed from that PEP
altogether. I don't think it's still necessary to hold back from using new
features just to support 1.5.2, given that a working implementation is available
if any 1.5.2 user should need it, and that the 1.5.2-dependent community will be
pretty minimal. A lot of water has passed under the bridge.

There are some new features which have been added in recent versions (say,
WatchedFileHandler in 2.6, NullHandler in 2.7) and these should still work if
copied and pasted into a codebase which runs with an older version of Python.
Certain projects which need to support multiple Python versions - Django, say -
can take advantage of this by e.g. offering a copy of these handlers in their
own codebase for use when constrained to work with an older Python version.

Regards,

Vinay Sajip



More information about the Python-Dev mailing list