A linter for YAML files.
Go to file
Waylan Limberg e43768f203 Better color support check.
Not all systems have `isatty` attribute on `sys.stdout` so check for
existance of attribute before checking value. Also don't use color in
Windows unless environ indicates support. Apparently, Windows can indicate
support by either the presence of `ANSICON` environ variable or if the
`TERM` environ variable is set to `ANSI`. Fixes #79.

No additional tests added, as the relevant tests use fcntl, which is a
Unix only lib. In fact, the tests won't even run in Windows.
2017-10-27 20:06:34 +02:00
docs New rule key-ordering 2017-10-16 22:49:39 +02:00
tests style: Fix E722 errors reported by pycodestyle 2017-10-27 17:22:35 +02:00
yamllint Better color support check. 2017-10-27 20:06:34 +02:00
.gitignore Update .gitignore 2016-03-08 09:48:17 +01:00
.pre-commit-hooks.yaml Update pre-commit hook file 2017-07-19 14:56:21 +02:00
.travis.yml chore(tests): Also run tests on Python 2.6 2017-07-04 22:07:32 +02:00
CHANGELOG.rst yamllint version 1.9.0 2017-10-16 22:52:06 +02:00
LICENSE Initial commit 2016-01-14 10:46:14 +01:00
MANIFEST.in Distribution: Restore spec examples in package_data 2016-03-04 12:33:56 +01:00
README.rst feat(config): Add support to ignore paths on per-rule basis 2017-06-28 15:14:46 +02:00
setup.cfg chore(tests): Add flake8-import-order linter plugin 2017-06-28 15:18:40 +02:00
setup.py chore(tests): Also run tests on Python 2.6 2017-07-04 22:07:32 +02:00

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 2 & 3).

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

https://yamllint.readthedocs.io/

Overview
--------

Screenshot
^^^^^^^^^^

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

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

On Fedora / CentOS:

.. code:: bash

 sudo dnf install yamllint

On Debian 8+ / Ubuntu 16.04+:

.. code:: bash

 sudo apt-get install yamllint

Alternatively using pip, the Python package manager:

.. code:: bash

 sudo pip install yamllint

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>`_