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.

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 ...
# Recursively 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


Release history Release notifications | RSS feed

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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yamllint-1.38.0-py3-none-any.whl (68.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for yamllint-1.38.0.tar.gz
Algorithm Hash digest
SHA256 09e5f29531daab93366bb061e76019d5e91691ef0a40328f04c927387d1d364d
MD5 dff4ef2d07d5b185c9d74256b42e9122
BLAKE2b-256 28a08fc2d68e132cf918f18273fdc8a1b8432b60d75ac12fdae4b0ef5c9d2e8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for yamllint-1.38.0.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.38.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for yamllint-1.38.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc394a5b3be980a4062607b8fdddc0843f4fa394152b6da21722f5d59013c220
MD5 931433d55d12bdfa00a37b114a4a9d13
BLAKE2b-256 0592aed08e68de6e6a3d7c2328ce7388072cd6affc26e2917197430b646aed02

See more details on using hashes here.

Provenance

The following attestation bundles were made for yamllint-1.38.0-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 Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page