Skip to content

wbadart/yamllint

This branch is 5 commits ahead of, 205 commits behind adrienverge/yamllint:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0e349d1 · Apr 27, 2020
Dec 12, 2019
Apr 27, 2020
Apr 27, 2020
Oct 11, 2018
Mar 3, 2018
Jan 3, 2020
Apr 17, 2020
Jan 14, 2016
Nov 5, 2017
Apr 9, 2020
Dec 7, 2017
May 27, 2019

Repository files navigation

yamllint

A linter for YAML files.

yamllint does not only check for syntax validity, but for weirdnesses like key repetition and cosmetic problems such as lines length, trailing spaces, indentation, etc.

CI tests status Code coverage status Documentation status

Written in Python (compatible with Python 2 & 3).

⚠ Python 2 upstream support stopped on January 1, 2020. yamllint will keep best-effort support for Python 2.7 until January 1, 2021. Passed that date, yamllint will drop all Python 2-related code.

Documentation

https://yamllint.readthedocs.io/

Overview

Screenshot

yamllint screenshot

Installation

Using pip, the Python package manager:

pip install --user yamllint

yamllint is also packaged for all major operating systems, see installation examples (dnf, apt-get...) in the documentation.

Usage

# Lint one or more files
yamllint my_file.yml my_other_file.yaml ...
# Lint all YAML files in a directory
yamllint .
# Use a pre-defined lint configuration
yamllint -d relaxed file.yaml

# Use a custom lint configuration
yamllint -c /path/to/myconfig file-to-lint.yaml
# Output a parsable format (for syntax checking in editors like Vim, emacs...)
yamllint -f parsable file.yaml

Read more in the complete documentation!

Features

Here is a yamllint configuration file example:

extends: default

rules:
  # 80 chars should be enough, but don't fail if a line is longer
  line-length:
    max: 80
    level: warning

  # don't bother me with this rule
  indentation: disable

Within a YAML file, special comments can be used to disable checks for a single line:

This line is waaaaaaaaaay too long  # yamllint disable-line

or for a whole block:

# yamllint disable rule:colons
- Lorem       : ipsum
  dolor       : sit amet,
  consectetur : adipiscing elit
# yamllint enable

Specific files can be ignored (totally or for some rules only) using a .gitignore-style pattern:

# For all rules
ignore: |
  *.dont-lint-me.yaml
  /bin/
  !/bin/*.lint-me-anyway.yaml

rules:
  key-duplicates:
    ignore: |
      generated
      *.template.yaml
  trailing-spaces:
    ignore: |
      *.ignore-trailing-spaces.yaml
      /ascii-art/*

Read more in the complete documentation!

License

GPL version 3

About

A linter for YAML files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.0%
  • Roff 1.0%