yamllint
A linter for YAML files.
Decision gist · record as of 2026-08-14
Yes. yamllint is production-stable (since 2016), actively maintained, has no known vulnerabilities, and low install friction. The copyleft GPL-3.0-or-later license is a consideration if you plan to redistribute modified versions, but using it as a development tool is straightforward. It's widely adopted (top 1000 PyPI packages) and well-documented.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low install friction with only two runtime dependencies (pathspec and pyyaml).
- The project is actively maintained with a recent commit on 2026-07-20 and has been stable since its first release in 2016-01-12.
License · maintenance · safety
GPL-3.0-or-later (copyleft) — Licensed under GPL-3.0-or-later (copyleft). This means any derivative work or modification must also be distributed under a compatible GPL license; using it as a linting tool in your workflow is generally permissible, but distributing modified versions requires GPL compliance.
last release 2026-01-13 (213 days) · last repo commit 2026-07-20 · 3,446 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 40,372,424 downloads/mo, #682 on PyPI
Alternatives
Verify before relying
pip install yamllint
yamllint my_file.yaml
# With a predefined configuration:
yamllint -d relaxed my_file.yaml
# With a custom configuration file:
yamllint -c /path/to/config.yaml my_file.yaml- Whether the package can be embedded in proprietary applications without triggering GPL distribution obligations in your specific use case.
What it is and what it does
yamllint is a command-line linter for YAML files that goes beyond basic syntax validation. It detects structural issues like duplicate keys, enforces style conventions such as line length and indentation, and flags cosmetic problems like trailing spaces. Written in Python and distributed as a console tool, it integrates into development workflows and editor plugins for real-time feedback.
The tool is configured via YAML files that extend predefined rule sets (default, relaxed) and allow fine-grained control over individual rules—disabling unwanted checks, setting warning vs. error levels, and ignoring specific files or patterns using gitignore-style syntax. It also supports inline directives within YAML files to disable checks for single lines or blocks, making it flexible for handling generated or legacy code.
Use it for
- Enforce consistent YAML style across a team's infrastructure-as-code or configuration repositories.
- Catch common YAML mistakes like duplicate keys or malformed indentation before deployment.
- Integrate into CI/CD pipelines to validate configuration files as part of automated testing.
- Use as an editor plugin (Vim, Emacs) for real-time linting feedback while editing YAML.
- Lint generated or third-party YAML files while selectively ignoring rules that don't apply.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
yamllint is production-stable (since 2016), actively maintained, has no known vulnerabilities, and low install friction. The copyleft GPL-3.0-or-later license is a consideration if you plan to redistribute modified versions, but using it as a development tool is straightforward. It's widely adopted (top 1000 PyPI packages) and well-documented.
Install
yamllint on PyPI
Before you install
Low install friction with only two runtime dependencies (pathspec and pyyaml). The project is actively maintained with a recent commit on 2026-07-20 and has been stable since its first release in 2016-01-12.
Requires Python 3.10 or later.
License in practice
Licensed under GPL-3.0-or-later (copyleft). This means any derivative work or modification must also be distributed under a compatible GPL license; using it as a linting tool in your workflow is generally permissible, but distributing modified versions requires GPL compliance.
Quickstart
pip install yamllint
yamllint my_file.yaml
# With a predefined configuration:
yamllint -d relaxed my_file.yaml
# With a custom configuration file:
yamllint -c /path/to/config.yaml my_file.yaml
Verify before relying
- Whether the package can be embedded in proprietary applications without triggering GPL distribution obligations in your specific use case.
Package facts
| License | GPL-3.0-or-later copyleft |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagespathspecpyyaml |
| Maintenance | Actively maintained 213 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 40,372,424 / month, #682 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersProgramming Language :: PythonTopic :: Software DevelopmentTopic :: Software Development :: DebuggersTopic :: Software Development :: Quality AssuranceTopic :: Software Development :: Testing |
Evidence: yamllint-1.38.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “yaml linter”
- yamllintyamllint checks YAML files for syntax errors, style violations, and…
- yamlfixyamlfix is a command-line YAML formatter that reformats YAML files…
- rstcheck-coreValidates reStructuredText syntax and checks code blocks embedded…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also cython-lint · j2lint · sphinx-lint · gitlint-core · dynamic-yaml · niet · cfn-lint · tclint · lintro · mbake