code: def client(self):
          
          if self.proxy:
              proxyhandler = urllib.ProxyHandler({"http": self.proxy})
              opener = urllib.build_opener(proxyhandler)
              urllib.install_opener(opener)
              transport = ProxyTransport()
          if not hasattr(self, '_client'):
              transport = None
              if self.pypi:
                  if self.proxy:
                      logger.info('Using provided proxy: {0}.'.format(
                          self.proxy))
                  self._client = xmlrpclib.ServerProxy(settings.PYPI_URL,
                                                       transport=transport)
                  self._client_set = True
              else:
                  self._client = None
  
          return self._client
docs: XMLRPC client for PyPI. Always returns the same instance.
  
          If the package is provided as a path to compressed source file,
          PyPI will not be used and the client will not be instantiated.
  
          Returns:
              XMLRPC client for PyPI or None.