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: SafeLoader

Yaml Loader that recognizes tuple tags.

Note - this class is for ruamel yaml with Python < 3.11

__init__(*args, **kwargs)

Initialize the scanner.

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