Package logilab :: Package common :: Module deprecation
[frames] | no frames]

Module deprecation

source code

Deprecation utilities.

Classes
  class_deprecated
metaclass to print a warning on instantiation of a deprecated class
Functions
 
class_renamed(old_name, new_class, message=None)
automatically creates a class which fires a DeprecationWarning when instantiated.
source code
 
class_moved(new_class, old_name=None, message=None)
nice wrapper around class_renamed when a class has been moved into...
source code
 
deprecated(reason=None, stacklevel=2)
Decorator that raises a DeprecationWarning to print a message when the decorated function is called.
source code
 
moved(modpath, objname)
use to tell that a callable has been moved to a new module.
source code
Function Details

class_renamed(old_name, new_class, message=None)

source code 
automatically creates a class which fires a DeprecationWarning
when instantiated.

>>> Set = class_renamed('Set', set, 'Set is now replaced by set')
>>> s = Set()
sample.py:57: DeprecationWarning: Set is now replaced by set
  s = Set()
>>>

class_moved(new_class, old_name=None, message=None)

source code 
nice wrapper around class_renamed when a class has been moved into
another module

moved(modpath, objname)

source code 
use to tell that a callable has been moved to a new module.

It returns a callable wrapper, so that when its called a warning is printed
telling where the object can be found, import is done (and not before) and
the actual object is called.

NOTE: the usage is somewhat limited on classes since it will fail if the
wrapper is use in a class ancestors list, use the `class_moved` function
instead (which has no lazy import feature though).