def deprecated_attribute(name, since, message=None, alternative=None, pending=False):
 private_name = ('_' + name)
 @deprecated(since, name=name, obj_type='attribute')
 def get(self):
  return getattr(self, private_name)
 @deprecated(since, name=name, obj_type='attribute')
 def set(self, val):
  setattr(self, private_name, val)
 @deprecated(since, name=name, obj_type='attribute')
 def delete(self):
  delattr(self, private_name)
 return property(get, set, delete)

def deprecated_attribute ( name , since , message = None , alternative = None , pending = False ) : private_name = ( '_' + name ) @ deprecated ( since , name = name , obj_type = 'attribute' ) def get ( self ) : return getattr ( self , private_name ) @ deprecated ( since , name = name , obj_type = 'attribute' ) def set ( self , val ) : setattr ( self , private_name , val ) @ deprecated ( since , name = name , obj_type = 'attribute' ) def delete ( self ) : delattr ( self , private_name ) return property ( get , set , delete )
used to mark a public attribute as deprecated .