[docs]classYAMLLoader(Loader):""" A Loader that is capable of instantiating LinkML data objects from a YAML file """defload_as_dict(self,source:str|dict|TextIO,*,base_dir:str|None=None,metadata:FileInfo|None=None)->dict|list[dict]:ifmetadataisNone:metadata=FileInfo()ifbase_dirandnotmetadata.base_path:metadata.base_path=base_dirdata=self._read_source(source,base_dir=base_dir,metadata=metadata,accept_header="text/yaml, application/yaml;q=0.9")ifisinstance(data,str):data=StringIO(data)ifmetadataandmetadata.source_file:data.name=os.path.relpath(metadata.source_file,metadata.base_path)returnyaml.load(data,DupCheckYamlLoader)returndata
[docs]defloads_any(self,source:str,target_class:type[BaseModel|YAMLRoot],*,metadata:FileInfo|None=None,**_)->BaseModel|YAMLRoot|list[BaseModel]|list[YAMLRoot]:""" Load source as a string @param source: source @param target_class: destination class @param metadata: metadata about the source @param _: extensions @return: instance of taarget_class """returnself.load_any(source,target_class,metadata=metadata)