def project_map(self):
        """A mapping from project name to experiments"""
        # first update with the experiments in the memory (the others should
        # already be loaded within the :attr:`exp_files` attribute)
        for key, val in self.items():
            if isinstance(val, dict):
                l = self._project_map[val['project']]
            elif isinstance(val, Archive):
                l = self._project_map[val.project]
            else:
                continue
            if key not in l:
                l.append(key)
        return self._project_map
A mapping from project name to experiments