def from_specification(specification, env_prefix=None, separator='<STR_LIT:.>',<EOL>parent_names=None):
items = {}<EOL>for item_name, item_info in six.iteritems(specification):<EOL><INDENT>names = copy.copy(parent_names) if parent_names else []<EOL>items[item_name] = _generate_item(item_name,<EOL>item_info,<EOL>env_prefix,<EOL>separator,<EOL>names)<EOL><DEDENT>return items<EOL>
Used to create YapconfItems from a specification dictionary.

    Args:
        specification (dict): The specification used to
            initialize ``YapconfSpec``
        env_prefix (str): Prefix to add to environment names
        separator (str): Separator for nested items
        parent_names (list): Parents names of any given item

    Returns:
        A dictionary of names to YapconfItems