def get_initializer(name): """Get ``Initializer`` class by name Parameters ---------- name : str Type of ``Initializer`` to get Returns ------- type ``Initializer`` type found Raises ------ ValueError When ``Initializer`` class with the given type is not found """ for class_ in get_subclasses(BaseInitializer): if class_.__name__ == name: return class_ raise ValueError('Unknown Initializer: {}'.format(name))
def get_model(name): """Get ``Model`` class by name Parameters ---------- name : str Name of ``Model`` to get Returns ------- type ``Model`` type found Raises ------ ValueError When ``Model`` class with the given name is not found """ for class_ in get_subclasses(BaseModel): if class_.__name__ == name: return class_ raise ValueError('Unknown model: {}'.format(name))
def get_cost(name): """Get ``Cost`` class by name Parameters ---------- name : str Type of ``Cost`` to get. Returns ------- type ``Cost`` type found Raises ------ ValueError When ``Cost`` class with the given type is not found """ for class_ in get_subclasses(BaseCost): if class_.__name__ == name: return class_ raise ValueError('Unknown Cost: {}'.format(name))
def print_formulae(): """List up avaialable formulae""" print(' '.join([formula.__name__ for formula in get_subclasses(_Formula)]))