[stdlib-sig] standardizing the deprecation policy (and hownoisy they are)

geremy condra debatem1 at gmail.com
Tue Nov 10 03:41:35 CET 2009


On Mon, Nov 9, 2009 at 9:00 PM, Guido van Rossum <guido at python.org> wrote:
> On Mon, Nov 9, 2009 at 5:41 PM, geremy condra <debatem1 at gmail.com> wrote:
>> I'm having some difficulty reconciling the idea of "protecting"
>> developers from warnings with "we're all adults here" and
>> "errors should never pass silently, unless explicitly silenced".
>> Should I be?
>
> Yes. Warnings are effectively errors that are allowed to pass -- in
> effect, silently, since users end up silencing them.

Ok, so whats the problem with letting them keep silencing them?
I don't see how you can get error ennui from warnings you never
see.

> The "manly" thing to do (to pick an expression popularized by Linus
> Torvalds) would be to have only errors, and test your code with new
> Python versions before allowing it to run there.

Lets say I wrestle wolverines in my spare time- are you saying that
the warnings should be silent or that there just shouldn't be any?

As an aside, given how often the discussion of running on a version
you haven't tested comes up, is there a convenience function that
raises an error in the event that you're outside of the tested range?
Something akin to:

def check_version(minimum, maximum):
	from sys import version_info
	maximum = tuple(int(x) for x in maximum.split("."))
	minimum = tuple(int(x) for x in minimum.split("."))
	if not minimum < version_info < maximum:
		raise RuntimeError("Improper version of Python")

Geremy Condra


More information about the stdlib-sig mailing list