def yaml_to_dict(yaml_str=None, str_or_buffer=None):
    if not yaml_str and not str_or_buffer:
        raise ValueError('One of yaml_str or str_or_buffer is required.')

    if yaml_str:
        d = yaml.load(yaml_str)
    elif isinstance(str_or_buffer, str):
        with open(str_or_buffer) as f:
            d = yaml.load(f)
    else:
        d = yaml.load(str_or_buffer)

    return d
Get the list of parameters that are needed to perform a
dataset/ETHPy150Open UDST/urbansim/urbansim/utils/yamlio.py/yaml_to_dict--crossover with--dataset/ETHPy150Open OpenMDAO/OpenMDAO/openmdao/core/group.py/Group._get_fd_params