pypyr.steps.fetchyaml permalink

load & parse yaml permalink

Loads a yaml file into the pypyr context.

This step requires the following key in the pypyr context:

 - name: pypyr.steps.fetchyaml
    description: fetch yaml from path
    in:
      fetchYaml:
        path: ./path.yaml # required. path to file on disk. can be relative.
        key: destinationKey # optional. write yaml to this context key.

If you do not specify key, yaml writes directly to context root.

If you do not want to specify a key, you can also use the streamlined format:

 - name: pypyr.steps.fetchyaml
    description: fetch yaml with simplified path input
    in:
      fetchYaml: ./path.yaml # required. path to file on disk. can be relative.

All inputs support substitutions.

See some worked examples of fetchyaml.

merging logic permalink

pypyr will parse the yaml from the file and merge it into the pypyr context. This will overwrite existing values if the same keys are already in there.

I.e if file yaml has

eggs: boiled

but context {'eggs': 'fried'} already exists, after fetchyaml context will be:

eggs: fried

input yaml structure permalink

If you do not specify key, the yaml should NOT be a list at the top level, but rather a mapping.

So the top-level yaml should not look like this:

- eggs
- ham

but rather like this:

breakfastOfChampions:
  - eggs
  - ham

encoding permalink

By default the yaml file will read in the platform’s default encoding. This is utf-8 for most systems, but be aware on Windows it’s still cp1252.

You can use the encoding input explicitly to set the encoding:

- name: pypyr.steps.fetchyaml
  comment: set encoding
  in:
    fetchYaml:
      path: testfiles/myfile.yaml
      key: mykey
      encoding: utf-8

See here for more details on handling text encoding in pypyr and changing the defaults.

See here for a list of available encodings.

see also

last updated on .