code: def fromFile(cls, filepath):
          
          xdata = ElementTree.parse(nstr(filepath))
          xroot = xdata.getroot()
  
          # collect variable information
          name = xroot.get('name')
          ver = float(xroot.get('version', '1.0'))
  
          if not name:
              name = os.path.basename(filepath).split('.')
              if name == '__init__':
                  name = os.path.normpath(filepath).split(os.path.sep)[-2]
              name = projex.text.pretty(name)
  
          icon = xroot.get('icon', './icon.png')
  
          ximport = xroot.find('import')
          if ximport is not None:
              importpath = ximport.get('path', './__init__.py')
          else:
              importpath = './__init__.py'
  
          params = {'description': '', 'author': '', 'email': '', 'url': ''}
          for param, default in params.items():
              xdata = xroot.find(param)
              if xdata is not None:
                  params[param] = xdata.text
  
          # generate the proxy information
          proxy = PluginProxy(cls, name, ver)
          proxy.setImportPath(importpath)
          proxy.setDescription(params['description'])
          proxy.setAuthor(params['author'])
          proxy.setEmail(params['email'])
          proxy.setUrl(params['url'])
          proxy.setFilepath(filepath)
  
          return proxy
docs: Creates a proxy instance from the inputted registry file.
          
          :param      filepath | <str>
          
          :return     <PluginProxy> || None