Skip to main content

No project description provided

Project description

YAML Bundler

yamlbundler is a useful command that bundles multiple YAML files into a single file. It finds !include tag in a YAML file and replaces it with the contents of another YAML file.

Install

pip install yamlbundler

Quick start

Save these files in your working directory.

# ./main.yaml

# include entire file
a: !include ./sub1.yaml  # relative path from the parent directory of main.yaml 
b: !include
  filepath: ./sub2.yaml 

# include specific value using jsonpath
c: !include
  filepath: ./sub1.yaml
  jsonpath: $.foo

# include multiple files
# Array elements are flattened.
d: !include
- filepath: ./sub1.yaml
- filepath: ./sub2.yaml

# include multiple files
# If all of them are map elements, they are merged into a single map.
e: !include
- filepath: ./sub1.yaml
- filepath: ./sub3.yaml
# ./sub1.yaml
foo: bar
# ./sub2.yaml
- one
- two
# ./sub3.yaml
hoge: !include
  # relative path from the parent directory of sub3.yaml (not main.yaml)
  filepath: ./sub2.yaml
  jsonpath: $[0]

Then, run this command. The result is shown in your terminal as STDOUT. Comments in original YAML are removed.

yamlbundler ./main.yaml

# a:
#   foo: bar
# b:
# - one
# - two
# c: bar
# d:
# - foo: bar
# - one
# - two
# e:
#   foo: bar
#   hoge: one

You can save the result as a new file using --output parameter. If you want to overwrite the original file, use --inplace parameter.

yamlbundler --output ./result.yaml ./main.yaml
yamlbundler --inplace ./main.yaml

Feedback

If you find any bugs, please feel free to create an issue.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yamlbundler-0.0.1.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

yamlbundler-0.0.1-py3-none-any.whl (4.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page