[docs]classYAMLLoader(Loader):""" A Loader that is capable of instantiating LinkML data objects from a YAML file """defload_as_dict(self,source:Union[str,dict,TextIO],*,base_dir:Optional[str]=None,metadata:Optional[FileInfo]=None)->Union[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)else:returndata
[docs]defloads_any(self,source:str,target_class:type[Union[BaseModel,YAMLRoot]],*,metadata:Optional[FileInfo]=None,**_)->Union[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)