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. https://yamllint.readthedocs.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Adrien Vergé 85ccd625a3 yamllint version 1.26.1 2 weeks ago
.github/workflows CI: Simplify 'pip' commands 3 weeks ago
docs docs: Add configuration for integration with Arcanist 5 months ago
tests line_length: skip all hash signs starting comment 3 weeks ago
yamllint yamllint version 1.26.1 2 weeks ago
.gitignore gitignore: Add /.eggs 6 months ago
.pre-commit-hooks.yaml pre-commit is now served over https! 3 years ago
CHANGELOG.rst yamllint version 1.26.1 2 weeks ago
CONTRIBUTING.rst tests: Stop using deprecated 'python setup.py test' 6 months ago
LICENSE Initial commit 5 years ago
MANIFEST.in Distribution: Include tests in dist file 3 years ago
README.rst End support for Python 2 3 months ago
setup.cfg CI: Switch to GitHub Actions 1 month ago
setup.py Move setuptools' packaging configuration from setup.py to setup.cfg 7 months ago

README.rst

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.

.. image::
https://travis-ci.org/adrienverge/yamllint.svg?branch=master
:target: https://travis-ci.org/adrienverge/yamllint
:alt: CI tests status
.. image::
https://coveralls.io/repos/github/adrienverge/yamllint/badge.svg?branch=master
:target: https://coveralls.io/github/adrienverge/yamllint?branch=master
:alt: Code coverage status
.. image:: https://readthedocs.org/projects/yamllint/badge/?version=latest
:target: https://yamllint.readthedocs.io/en/latest/?badge=latest
:alt: Documentation status

Written in Python (compatible with Python 3 only).

Documentation
-------------

https://yamllint.readthedocs.io/

Overview
--------

Screenshot
^^^^^^^^^^

.. image:: docs/screenshot.png
:alt: yamllint screenshot

Installation
^^^^^^^^^^^^

Using pip, the Python package manager:

.. code:: bash

pip install --user yamllint

yamllint is also packaged for all major operating systems, see installation
examples (``dnf``, ``apt-get``...) `in the documentation
<https://yamllint.readthedocs.io/en/stable/quickstart.html>`_.

Usage
^^^^^

.. code:: bash

# Lint one or more files
yamllint my_file.yml my_other_file.yaml ...

.. code:: bash

# Lint all YAML files in a directory
yamllint .

.. code:: bash

# 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

.. code:: bash

# Output a parsable format (for syntax checking in editors like Vim, emacs...)
yamllint -f parsable file.yaml

`Read more in the complete documentation! <https://yamllint.readthedocs.io/>`_

Features
^^^^^^^^

Here is a yamllint configuration file example:

.. code:: yaml

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:

.. code:: yaml

This line is waaaaaaaaaay too long # yamllint disable-line

or for a whole block:

.. code:: yaml

# 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:

.. code:: yaml

# 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! <https://yamllint.readthedocs.io/>`_

License
-------

`GPL version 3 <LICENSE>`_