On May 5, 8:44 pm, Jason Grout <[EMAIL PROTECTED]> wrote:
> I've been thinking more about how to handle deprecated functionality.
> Seehttp://groups.google.com/group/sage-devel/browse_thread/thread/1e7d8b...
> for our initial discussion.  There, the conclusions seemed to be:
>
> 1. We should have a DEPRECATED section of the docstring in which
> deprecated notes should be listed.  Optionally, we could go through
> sections like these before a major release and remove functions, etc.
>
> 2. Throw a DeprecatedError when some piece of functionality is used.
> The reasoning here is that people would know very quickly what code was bad.
>
> I like #1.  #2, however, seems to go too far.  "Deprecated" means that
> things don't break just yet, they just warn you that you're on risky
> ground for the future and that you'd better change your code.  Throwing
> an error aborts everything instead.
>
> Thankfully, Python already has a framework for deprecation (imagine
> that!).  Seehttp://docs.python.org/lib/module-warnings.html.  This
> module creates a framework for warning the user of all sorts of things
> (not just deprecated functionality).  The user can configure python to
> turn these warnings into exceptions, print them to the console, ignore
> them, etc.

I like this idea.

> Does anyone have experience using the warning module, specifically with
> regards to the DeprecationWarning and PendingDeprecationWarning?

Not me.

> Note that there are other warnings in Sage that could use the warning
> module, like the warning about bad points in plotting, etc.

This sounds good too.

Carl

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to