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.37.1.tar.gz (141.6 kB view details)

Uploaded Source

Built Distribution

yamllint-1.37.1-py3-none-any.whl (68.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: yamllint-1.37.1.tar.gz
  • Upload date:
  • Size: 141.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for yamllint-1.37.1.tar.gz
Algorithm Hash digest
SHA256 81f7c0c5559becc8049470d86046b36e96113637bcbe4753ecef06977c00245d
MD5 cebe1728fdf28a44bae7896edbf48635
BLAKE2b-256 46f2cd8b7584a48ee83f0bc94f8a32fea38734cefcdc6f7324c4d3bfc699457b

See more details on using hashes here.

Provenance

The following attestation bundles were made for yamllint-1.37.1.tar.gz:

Publisher: publish.yaml on adrienverge/yamllint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: yamllint-1.37.1-py3-none-any.whl
  • Upload date:
  • Size: 68.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for yamllint-1.37.1-py3-none-any.whl
Algorithm Hash digest
SHA256 364f0d79e81409f591e323725e6a9f4504c8699ddf2d7263d8d2b539cd66a583
MD5 40a1ef37aa16491af8d51bafb7034af8
BLAKE2b-256 ddb9be7a4cfdf47e03785f657f94daea8123e838d817be76c684298305bd789f

See more details on using hashes here.

Provenance

The following attestation bundles were made for yamllint-1.37.1-py3-none-any.whl:

Publisher: publish.yaml on adrienverge/yamllint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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