build a Term instance from a dict

        Parameters
        ----------
        cls : class

        info : dict
            contains all information needed to build the term

        Return
        ------
        Term instance

def build_from_info(cls, info):
        """build a Term instance from a dict

        Parameters
        ----------
        cls : class

        info : dict
            contains all information needed to build the term

        Return
        ------
        Term instance
        """
        info = deepcopy(info)
        if 'term_type' in info:
            cls_ = TERMS[info.pop('term_type')]

            if issubclass(cls_, MetaTermMixin):
                return cls_.build_from_info(info)
        else:
            cls_ = cls
        return cls_(**info)