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
Release history Release notifications | RSS feed
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)
Built Distribution
Close
Hashes for yamlbundler-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d03aeb9b0a2ff00935add6903db68d0a7dac49470b7c7ef52a60a48e6c1609b |
|
MD5 | aca786d270cc167df4adbaef9b385419 |
|
BLAKE2b-256 | 03d9adf672ee79aab0daa2c66636580e509386b20bf82085ea87c3735aa61ae5 |