docs: def from_yaml(cls, yaml_str, selectable, **kwargs):
          """Create a shelf using a yaml shelf definition.
  
          :param yaml_str: A string containing yaml ingredient definitions.
          :param selectable: A SQLAlchemy Table, a Recipe, or a SQLAlchemy
              join to select from.
          :return: A shelf that contains the ingredients defined in yaml_str.
          """
          obj = safe_load(yaml_str)
          return cls.from_config(
              obj,
              selectable,
              ingredient_constructor=ingredient_from_dict,
              **kwargs
          )