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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file yamlbundler-0.0.1.tar.gz.

File metadata

  • Download URL: yamlbundler-0.0.1.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.6 Linux/5.15.0-1024-azure

File hashes

Hashes for yamlbundler-0.0.1.tar.gz
Algorithm Hash digest
SHA256 61e6bedba8b1db4923cbea9cbfab8944588f1bc219d18d23c6bf23e4a318438a
MD5 72b9428094ad4f1d881c75eb2016b48a
BLAKE2b-256 22c292e6abf06a6ae557e98b334e81f1a6d361d2043ce2f4833501bb84bf18a0

See more details on using hashes here.

File details

Details for the file yamlbundler-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: yamlbundler-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.6 Linux/5.15.0-1024-azure

File hashes

Hashes for yamlbundler-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4d03aeb9b0a2ff00935add6903db68d0a7dac49470b7c7ef52a60a48e6c1609b
MD5 aca786d270cc167df4adbaef9b385419
BLAKE2b-256 03d9adf672ee79aab0daa2c66636580e509386b20bf82085ea87c3735aa61ae5

See more details on using hashes here.

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