code: def info(self, id):
      
      #self._update_index() # This is commented because it leads to
                            # excessive network load
      if id in self._packages: return self._packages[id]
      if id in self._collections: return self._collections[id]
      self._update_index() # If package is not found, most probably we did not
                           # warm up the cache
      if id in self._packages: return self._packages[id]
      if id in self._collections: return self._collections[id]
      raise ValueError('Package %r not found in index' % id)
docs: Return the ``Package`` or ``Collection`` record for the
         given item.