Skip to main content

An opinionated yaml formatter based on ruamel.yaml

Project description

Why?

What?

> ./yamkix -h
usage: yamkix [-h] -i INPUT [-t TYP] [-o OUTPUT] [-n] [-e] [-q] [-f] [-d]

Format yaml input file. By default, explicit_start is `On`, explicit_end is
`Off` and array elements are pushed inwards the start of the matching
sequence. Comments are preserved thanks to default parsing mode `rt`.

optional arguments:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        the file to parse
  -t TYP, --typ TYP     the yaml parser mode. Can be `safe` or `rt`
  -o OUTPUT, --output OUTPUT
                        the name of the file to generate (same as input file
                        if not specied)
  -n, --no-explicit-start
                        by default, explicit start of the yaml doc is `On`,
                        you can disable it with this option
  -e, --explicit-end    by default, explicit end of the yaml doc is `Off`, you
                        can enable it with this option
  -q, --no-quotes-preserved
                        by default, quotes are preserverd you can disable this
                        with this option
  -f, --default-flow-style
                        enable the default flow style `Off` by default. In
                        default flow style (with typ=`rt`), maps and lists are
                        written like json
  -d, --no-dash-inwards
                        by default, dash are pushed inwards use `--no-dash-inwards` to have the dash start at the sequence level

Config

  • Explicit start of yaml docs by defaut (you can disable it with --no-explicit-start)

  • Quotes preserved by default (you can disable it with --no-quotes-preserved)

  • Arrays elements pushed inwards by default (you can disable it with --no-dash-inwards)

  • Output file is input file by default

  • Comments preserved by default thanks to ruamel.yaml round_trip mode (you can disable it with --typ safe)

Where does the name ‘yamkix’ come from?

Usage

  • Install the package with pip install --user yamkix

  • Sample vscode task :

{
  "taskName": "format yaml with yamkix",
  "type": "shell",
  "command": "yamkix --input ${file}",
  "group": "build",
  "presentation": {
    "reveal": "always",
    "panel": "shared"
  },
  "problemMatcher": []
}

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

yamkix-0.1.1-py2.7.egg (4.2 kB view details)

Uploaded Egg

yamkix-0.1.1-py2-none-any.whl (8.4 kB view details)

Uploaded Python 2

File details

Details for the file yamkix-0.1.1-py2.7.egg.

File metadata

  • Download URL: yamkix-0.1.1-py2.7.egg
  • Upload date:
  • Size: 4.2 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for yamkix-0.1.1-py2.7.egg
Algorithm Hash digest
SHA256 6abe68a8751ac35f66d29ed2e689c494b2e03c7719aa0fa0ae8c0aa701c11131
MD5 b585883e1af23f8bef2b0585af978ce3
BLAKE2b-256 88cb57a0b0fda58a2cdcc3fa552e82f76404131114bb2777515c3dbab1fc4689

See more details on using hashes here.

File details

Details for the file yamkix-0.1.1-py2-none-any.whl.

File metadata

  • Download URL: yamkix-0.1.1-py2-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for yamkix-0.1.1-py2-none-any.whl
Algorithm Hash digest
SHA256 b9d914706c3d8d0ecbe0ce54695ef1ccdfea2b0a70e046154bdd454aefb49252
MD5 c451726b03438667ab7dc204e346ef29
BLAKE2b-256 fbc61b3cdde972a4c2ba4be2b3a2bf99ccf27e3b4512d5d914d36e1b0beb9808

See more details on using hashes here.

Supported by

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