schrodinger.application.matsci.yamlutils module¶
Utilities for working with yaml
Copyright Schrodinger, LLC. All rights reserved.
- schrodinger.application.matsci.yamlutils.yaml_tuple_constructor(obj, node)¶
- Add the ability to parse tuples to a YAML Constructor object - Note - this function is for ruamel yaml with Python 3.11 and beyond - Parameters
- obj (yaml.SafeConstructor) – The constructor object 
- node (yaml.nodes.SequenceNode) – The tuple node 
 
- Return type
- tuple 
- Returns
- The tuple derived from node 
 
- schrodinger.application.matsci.yamlutils.yaml_tuple_representer(obj, data)¶
- Add the ability to write tuples to a YAML Representer object - Note - this function is for ruamel yaml with Python 3.11 and beyond - Parameters
- obj (yaml.Representer) – The constructor object 
- data – The tuple to represent 
 
- Return type
- str 
- Returns
- A YAML representation of a tuple 
 
- schrodinger.application.matsci.yamlutils.get_safe_yaml_with_tuples()¶
- Get a safe YAML loader that can handle tuples - Return type
- yaml.YAML 
- Returns
- A safe yaml loader that can handle tuples 
 
- class schrodinger.application.matsci.yamlutils.TupleSafeLoader(*args, **kwargs)¶
- Bases: - ruamel.yaml.loader.SafeLoader- Yaml Loader that recognizes tuple tags. - Note - this class is for ruamel yaml with Python < 3.11 - __init__(*args, **kwargs)¶
- Initialize the scanner. 
 - DEFAULT_MAPPING_TAG = 'tag:yaml.org,2002:map'¶
 - DEFAULT_SCALAR_TAG = 'tag:yaml.org,2002:str'¶
 - DEFAULT_SEQUENCE_TAG = 'tag:yaml.org,2002:seq'¶
 - DEFAULT_TAGS = {'!': '!', '!!': 'tag:yaml.org,2002:'}¶
 - ESCAPE_CODES = {'U': 8, 'u': 4, 'x': 2}¶
 - ESCAPE_REPLACEMENTS = {'\t': '\t', ' ': ' ', '"': '"', '/': '/', '0': '\x00', 'L': '\u2028', 'N': '\x85', 'P': '\u2029', '\\': '\\', '_': '\xa0', 'a': '\x07', 'b': '\x08', 'e': '\x1b', 'f': '\x0c', 'n': '\n', 'r': '\r', 't': '\t', 'v': '\x0b'}¶
 - NON_PRINTABLE = <ruamel.yaml.util.LazyEval object>¶
 - classmethod add_constructor(tag: Any, constructor: Any) None¶
 - classmethod add_implicit_resolver(tag: Any, regexp: Any, first: Any) None¶
 - classmethod add_implicit_resolver_base(tag: Any, regexp: Any, first: Any) None¶
 - add_indent(column: int) bool¶
 - classmethod add_multi_constructor(tag_prefix: Any, multi_constructor: Any) None¶
 - classmethod add_path_resolver(tag: Any, path: Any, kind: Any = None) None¶
 - add_version_implicit_resolver(version: VersionType, tag: Any, regexp: Any, first: Any) None¶
 - ascend_resolver() None¶
 - bool_values = {'false': False, 'n': False, 'no': False, 'off': False, 'on': True, 'true': True, 'y': True, 'yes': True}¶
 - check_block_entry() Any¶
 - check_data() Any¶
 - check_directive() Any¶
 - check_document_end() Any¶
 - check_document_start() Any¶
 - check_end_doc_comment(end_event: Any, node: Any) None¶
 - check_event(*choices: Any) bool¶
 - check_key() Any¶
 - check_mapping_key(node: Any, key_node: Any, mapping: Any, key: Any, value: Any) bool¶
- return True if key is unique 
 - check_node() Any¶
 - check_plain() Any¶
 - check_printable(data: Any) None¶
 - check_resolver_prefix(depth: int, path: Text, kind: Any, current_node: Any, current_index: Any) bool¶
 - check_set_key(node: Any, key_node: Any, setting: Any, key: Any) None¶
 - check_token(*choices: Any) bool¶
 - check_value() Any¶
 - compose_document() Any¶
 - compose_mapping_node(anchor: Any) Any¶
 - compose_node(parent: Any, index: Any) Any¶
 - compose_scalar_node(anchor: Any) Any¶
 - compose_sequence_node(anchor: Any) Any¶
 - property composer¶
 - construct_document(node: Any) Any¶
 - construct_mapping(node: Any, deep: bool = False) Any¶
- deep is True when creating an object/mapping recursively, in that case want the underlying elements available during construction 
 - construct_non_recursive_object(node: Any, tag: Optional[str] = None) Any¶
 - construct_object(node: Any, deep: bool = False) Any¶
- deep is True when creating an object/mapping recursively, in that case want the underlying elements available during construction 
 - construct_pairs(node: Any, deep: bool = False) Any¶
 - construct_scalar(node: Any) Any¶
 - construct_sequence(node: Any, deep: bool = False) Any¶
- deep is True when creating an object/mapping recursively, in that case want the underlying elements available during construction 
 - construct_undefined(node: Any) None¶
 - construct_yaml_binary(node: Any) Any¶
 - construct_yaml_bool(node: Any) bool¶
 - construct_yaml_float(node: Any) float¶
 - construct_yaml_int(node: Any) int¶
 - construct_yaml_map(node: Any) Any¶
 - construct_yaml_null(node: Any) Any¶
 - construct_yaml_object(node: Any, cls: Any) Any¶
 - construct_yaml_omap(node: Any) Any¶
 - construct_yaml_pairs(node: Any) Any¶
 - construct_yaml_seq(node: Any) Any¶
 - construct_yaml_set(node: Any) Any¶
 - construct_yaml_str(node: Any) Any¶
 - construct_yaml_timestamp(node: Any, values: Any = None) Any¶
 - descend_resolver(current_node: Any, current_index: Any) None¶
 - determine_encoding() None¶
 - dispose() None¶
 - fetch_alias() None¶
 - fetch_anchor() None¶
 - fetch_block_entry() None¶
 - fetch_block_scalar(style: Any) None¶
 - fetch_comment(comment: Any) None¶
 - fetch_directive() None¶
 - fetch_document_end() None¶
 - fetch_document_indicator(TokenClass: Any) None¶
 - fetch_document_start() None¶
 - fetch_double() None¶
 - fetch_flow_collection_end(TokenClass: Any) None¶
 - fetch_flow_collection_start(TokenClass: Any, to_push: Text) None¶
 - fetch_flow_entry() None¶
 - fetch_flow_mapping_end() None¶
 - fetch_flow_mapping_start() None¶
 - fetch_flow_scalar(style: Any) None¶
 - fetch_flow_sequence_end() None¶
 - fetch_flow_sequence_start() None¶
 - fetch_folded() None¶
 - fetch_key() None¶
 - fetch_literal() None¶
 - fetch_more_tokens() Any¶
 - fetch_plain() None¶
 - fetch_single() None¶
 - fetch_stream_end() None¶
 - fetch_stream_start() None¶
 - fetch_tag() None¶
 - fetch_value() None¶
 - flatten_mapping(node: Any) Any¶
- This implements the merge key feature http://yaml.org/type/merge.html by inserting keys from the merge dict/list of dicts if not yet available in this node 
 - property flow_level¶
 - forward(length: int = 1) None¶
 - forward_1_1(length: int = 1) None¶
 - get_data() Any¶
 - get_event() Any¶
 - get_loader_version(version: Optional[VersionType]) Any¶
 - get_mark() Any¶
 - get_node() Any¶
 - get_single_data() Any¶
 - get_single_node() Any¶
 - get_token() Any¶
 - inf_value = inf¶
 - nan_value = nan¶
 - need_more_tokens() bool¶
 - next_possible_simple_key() Any¶
 - parse_block_mapping_first_key() Any¶
 - parse_block_mapping_key() Any¶
 - parse_block_mapping_value() Any¶
 - parse_block_node() Any¶
 - parse_block_node_or_indentless_sequence() Any¶
 - parse_block_sequence_entry() Any¶
 - parse_block_sequence_first_entry() Any¶
 - parse_document_content() Any¶
 - parse_document_end() Any¶
 - parse_document_start() Any¶
 - parse_flow_mapping_empty_value() Any¶
 - parse_flow_mapping_first_key() Any¶
 - parse_flow_mapping_key(first: Any = False) Any¶
 - parse_flow_mapping_value() Any¶
 - parse_flow_node() Any¶
 - parse_flow_sequence_entry(first: bool = False) Any¶
 - parse_flow_sequence_entry_mapping_end() Any¶
 - parse_flow_sequence_entry_mapping_key() Any¶
 - parse_flow_sequence_entry_mapping_value() Any¶
 - parse_flow_sequence_first_entry() Any¶
 - parse_implicit_document_start() Any¶
 - parse_indentless_sequence_entry() Any¶
 - parse_node(block: bool = False, indentless_sequence: bool = False) Any¶
 - parse_stream_start() Any¶
 - property parser¶
 - peek(index: int = 0) Text¶
 - peek_event() Any¶
 - peek_token() Any¶
 - prefix(length: int = 1) Any¶
 - process_directives() Any¶
 - process_empty_scalar(mark: Any, comment: Any = None) Any¶
 - property processing_version¶
 - property reader¶
 - remove_possible_simple_key() None¶
 - reset_parser() None¶
 - reset_reader() None¶
 - reset_scanner() None¶
 - resolve(kind: Any, value: Any, implicit: Any) Any¶
 - property resolver¶
 - save_possible_simple_key() None¶
 - scan_anchor(TokenClass: Any) Any¶
 - scan_block_scalar(style: Any, rt: Optional[bool] = False) Any¶
 - scan_block_scalar_breaks(indent: int) Any¶
 - scan_block_scalar_ignored_line(start_mark: Any) Any¶
 - scan_block_scalar_indentation() Any¶
 - scan_block_scalar_indicators(start_mark: Any) Any¶
 - scan_directive() Any¶
 - scan_directive_ignored_line(start_mark: Any) None¶
 - scan_directive_name(start_mark: Any) Any¶
 - scan_flow_scalar(style: Any) Any¶
 - scan_flow_scalar_breaks(double: Any, start_mark: Any) Any¶
 - scan_flow_scalar_non_spaces(double: Any, start_mark: Any) Any¶
 - scan_flow_scalar_spaces(double: Any, start_mark: Any) Any¶
 - scan_line_break() Any¶
 - scan_plain() Any¶
 - scan_plain_spaces(indent: Any, start_mark: Any) Any¶
 - scan_tag() Any¶
 - scan_tag_directive_handle(start_mark: Any) Any¶
 - scan_tag_directive_prefix(start_mark: Any) Any¶
 - scan_tag_directive_value(start_mark: Any) Any¶
 - scan_tag_handle(name: Any, start_mark: Any) Any¶
 - scan_tag_uri(name: Any, start_mark: Any) Any¶
 - scan_to_next_token() Any¶
 - scan_uri_escapes(name: Any, start_mark: Any) Any¶
 - scan_yaml_directive_number(start_mark: Any) Any¶
 - scan_yaml_directive_value(start_mark: Any) Any¶
 - property scanner¶
 - property scanner_processing_version¶
 - stale_possible_simple_keys() None¶
 - property stream¶
 - timestamp_regexp = <ruamel.yaml.util.LazyEval object>¶
 - transform_tag(handle: Any, suffix: Any) Any¶
 - unwind_indent(column: Any) None¶
 - update(length: int) None¶
 - update_raw(size: Optional[int] = None) None¶
 - property versioned_resolver¶
- select the resolver based on the version we are parsing 
 - yaml_constructors: Dict[Any, Any] = {'tag:yaml.org,2002:null': <function SafeConstructor.construct_yaml_null>, 'tag:yaml.org,2002:bool': <function SafeConstructor.construct_yaml_bool>, 'tag:yaml.org,2002:int': <function SafeConstructor.construct_yaml_int>, 'tag:yaml.org,2002:float': <function SafeConstructor.construct_yaml_float>, 'tag:yaml.org,2002:binary': <function SafeConstructor.construct_yaml_binary>, 'tag:yaml.org,2002:timestamp': <function SafeConstructor.construct_yaml_timestamp>, 'tag:yaml.org,2002:omap': <function SafeConstructor.construct_yaml_omap>, 'tag:yaml.org,2002:pairs': <function SafeConstructor.construct_yaml_pairs>, 'tag:yaml.org,2002:set': <function SafeConstructor.construct_yaml_set>, 'tag:yaml.org,2002:str': <function SafeConstructor.construct_yaml_str>, 'tag:yaml.org,2002:seq': <function SafeConstructor.construct_yaml_seq>, 'tag:yaml.org,2002:map': <function SafeConstructor.construct_yaml_map>, None: <function SafeConstructor.construct_undefined>}¶
 - yaml_implicit_resolvers: Dict[Any, Any] = {}¶
 - yaml_multi_constructors: Dict[Any, Any] = {}¶
 - yaml_path_resolvers: Dict[Any, Any] = {}¶
 
- schrodinger.application.matsci.yamlutils.read_safe_yaml_file(path)¶
- Read a yaml file safely and properly interpret tuples - Parameters
- path (str) – The path to the yaml file 
- Returns
- The data from the yaml file 
 
- schrodinger.application.matsci.yamlutils.dump_yaml_file(path, data)¶
- Write a yaml file safely and properly interpret tuples - Parameters
- path (str) – The path to the yaml file 
- data – The data to write out 
 
- Returns
- The data from the yaml file