Skip to main content

A linter for YAML files.

Project description

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 3 only).

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

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

yamllint-1.35.1.tar.gz (134.6 kB view details)

Uploaded Source

Built Distribution

yamllint-1.35.1-py3-none-any.whl (66.7 kB view details)

Uploaded Python 3

File details

Details for the file yamllint-1.35.1.tar.gz.

File metadata

  • Download URL: yamllint-1.35.1.tar.gz
  • Upload date:
  • Size: 134.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.12.1

File hashes

Hashes for yamllint-1.35.1.tar.gz
Algorithm Hash digest
SHA256 7a003809f88324fd2c877734f2d575ee7881dd9043360657cc8049c809eba6cd
MD5 17d33f3ac5b2808fb299d27291977364
BLAKE2b-256 da06d8cee5c3dfd550cc0a466ead8b321138198485d1034130ac1393cc49d63e

See more details on using hashes here.

File details

Details for the file yamllint-1.35.1-py3-none-any.whl.

File metadata

  • Download URL: yamllint-1.35.1-py3-none-any.whl
  • Upload date:
  • Size: 66.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.12.1

File hashes

Hashes for yamllint-1.35.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2e16e504bb129ff515b37823b472750b36b6de07963bd74b307341ef5ad8bdc3
MD5 a3f5c2c6902e01be0afe8f86f0c9121b
BLAKE2b-256 09282abf1ec14df2d584b9e7ce3b0be458838741e6aaff7a540374ba9af83916

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