Skip to content

pollenjp/yaml-pipe

Repository files navigation

yaml-pipe

PyPI Python Versions PyPI Download Issues Release Drafter

Install

pip install yaml-pipe

How to use

  • --dotindex: extract only.
  • --dotlist: edit only.
  • -f, --file: edit only.

Extract Example 1

---
aaa:
  bbb: bbb
cat sample.yml | yaml-pipe --dotindex "aaa.bbb"

output

bbb

Extract Example 2

---
aaa:
  bbb: bbb
---
xxx:
  yyy: yyy
cat sample.yml | yaml-pipe --block_id 1 --dotindex "xxx.yyy"

output

yyy

Extract Example 3

---
xxx:
  yyy:
    zzz: zzz
cat sample.yml | yaml-pipe --block_id 1 --dotindex "xxx"

output

yyy:
  zzz: zzz

Edit Example 1

sample.yml

---
foo:
  bar: BAR
cat sample.yml | yaml-pipe --dotlist foo.bar="bar"

output

---
foo:
  bar: bar

Edit Example 2

sample.yml

---
foo:
  bar: BAR
---
fizz:
  buzz: BUZZ
cat sample.yml | yaml-pipe --block_id 1 --dotlist fizz.buzz="buzz"

output

---
foo:
  bar: BAR
---
fizz:
  buzz: buzz

example3

sample.yml

---
foo:
  bar: BAR
---
fizz:
  buzz: BUZZ

update.yml

fizz:
  buzz: buzz
cat sample.yml | yaml-pipe --block_id 1 --file update.yml

output

---
foo:
  bar: BAR
---
fizz:
  buzz: buzz

Developers

Linting and test

pyenv local 3.10.4 3.9.13 3.8.13
poetry install
poetry run nox
./test_cli.sh

Upload to PyPI

Default target is testpypi.

make pypi-upload

If you upload to pypi, set empty to TEST_PYPI.

make pypi-upload TEST_PYPI=