YAML MetadataΒΆ

YAML is a plain text markup language. For example:

license: PDDL-1.0
missions:
  - 'Kaguya SELENE'
instruments:
  - Kaguya Terrain Camera (TC)
doi: https://my_doi/####/##abcd##
href: http://my_awesome_domain.io/my_data
longitude_domain: 360
horizontal_accuracy_value: 50

Since the YAML metadata object is a dictionary of key:value pairs, anything could be specified in the YAML file. In fact, one could specify all of the metadata associated with a data product as YAML. (Though we have no idea why you would want to do that! See the below warning.)

Warning

A YAML metadata file is a nice way to provide mappings to a UnifiedMetadata object. It is important to be careful though because a YAMLMetadata input and an override are parsed differently on lookup. For an override, the UnifiedMetadata never checks the other data sources. For a YAMLMetadata object it does. So, an override can never collide with another source, but a YAMLMetadata can! In practice, that might mean defining your override in the YAML file and then providing a mappings dictionary to the UnifiedMetadata object.