code: def uninstall(self, name, forced_removal, display_info):
          
          if not isinstance(name, basestring):
              raise TypeError("name can only be an instance of type basestring")
          if not isinstance(forced_removal, bool):
              raise TypeError("forced_removal can only be an instance of type bool")
          if not isinstance(display_info, basestring):
              raise TypeError("display_info can only be an instance of type basestring")
          progess = self._call("uninstall",
                       in_p=[name, forced_removal, display_info])
          progess = IProgress(progess)
          return progess
docs: Uninstalls an extension pack, removing all related files.
  
          in name of type str
              The name of the extension pack to uninstall.
  
          in forced_removal of type bool
              Forced removal of the extension pack. This means that the uninstall
              hook will not be called.
  
          in display_info of type str
              Platform specific display information. Reserved for future hacks.
  
          return progess of type :class:`IProgress`
              Progress object for the operation.