tree-sitter-yaml
YAML grammar for tree-sitter
What it is and what it does
tree-sitter-yaml is a grammar definition for the tree-sitter incremental parsing framework, enabling structured parsing of YAML 1.2 files. It produces a syntax tree representation rather than direct data deserialization, making it useful for tools that need to analyze, transform, or navigate YAML structure without evaluating its content.
The package is distributed as precompiled wheels for modern Python versions (3.10+) across Linux, macOS, and Windows architectures. It has no runtime dependencies and integrates into the tree-sitter ecosystem, requiring the tree-sitter Python library to be used for actual parsing. Maintenance is active with recent updates, and it carries no known security vulnerabilities.
Use it for:
- Building YAML linters or code formatters that need to preserve and manipulate document structure
- Creating IDE plugins or editor extensions that provide YAML syntax highlighting and navigation
- Analyzing YAML configuration files programmatically without executing their content
- Implementing YAML refactoring tools that transform configuration schemas
- Developing documentation generators that extract and process YAML metadata
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A tree-sitter parser grammar for YAML files that enables incremental parsing and syntax tree extraction from YAML 1.2 documents.
Yes, if you are building tools that need to parse and analyze YAML structure at the syntax-tree level. Install it alongside tree-sitter Python bindings. Not recommended if you simply need to read or write YAML data—use PyYAML or similar instead. No license or security concerns; medium install friction is typical for compiled grammars.
Install
tree-sitter-yaml on PyPI
pip
pip install tree-sitter-yamluv
uv add tree-sitter-yamlpoetry
poetry add tree-sitter-yamlInstalling tree-sitter-yaml
Before you install
Medium install friction due to compiled wheel distribution across multiple platforms (x86_64, ARM, Windows). Requires Python 3.10 or later. Active maintenance with recent commits and no known vulnerabilities.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and proprietary projects.
Quickstart
pip install tree-sitter-yaml
import tree_sitter_yaml
# Use with tree-sitter Python bindings to parse YAML documents
Requires Python 3.10 or later; tree-sitter Python bindings must be installed separately to use the grammar for actual parsing.
Verify before relying
- How to integrate this grammar with tree-sitter Python bindings for practical parsing workflows
- Performance characteristics compared to standard PyYAML or other YAML parsers
- Whether this package provides a high-level API or is primarily for advanced tree-sitter users
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 311 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,107,352/month — #1,970 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tree_sitter_yaml-0.7.2-cp310-abi3-macosx_10_9_x86_64.whl; tree_sitter_yaml-0.7.2-cp310-abi3-macosx_11_0_arm64.whl; tree_sitter_yaml-0.7.2-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; tree_sitter_yaml-0.7.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; tree_sitter_yaml-0.7.2-cp310-abi3-musllinux_1_2_aarch64.whl; tree_sitter_yaml-0.7.2-cp310-abi3-musllinux_1_2_x86_64.whl; tree_sitter_yaml-0.7.2-cp310-abi3-win_amd64.whl; tree_sitter_yaml-0.7.2-cp310-abi3-win_arm64.whl
Keywords: incremental, parsing, tree-sitter, yaml
Tags
More Linguistic packages
Detects and normalizes text encoding from…
permissive · top 100 on PyPI
tiktokentiktoken is a fast BPE tokenizer that converts…
permissive · top 1,000 on PyPI
chardetDetects character encoding and language in byte…
permissive · top 1,000 on PyPI
text-unidecodeConverts Unicode text to ASCII by…
copyleft · top 1,000 on PyPI
larkLark is a parsing library that builds abstract…
permissive · top 1,000 on PyPI
tree-sitterPython bindings to the tree-sitter parsing…
permissive · top 1,000 on PyPI
tree-sitter-tomlProvides a tree-sitter parser grammar for TOML…
permissive · top 5,000 on PyPI
tree-sitter-markdownProvides a tree-sitter grammar for parsing…
permissive · top 5,000 on PyPI
tree-sitter-jsonProvides a JSON grammar parser for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-pythonProvides a Python grammar for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-xmlProvides a tree-sitter parser grammar for XML…
permissive · top 5,000 on PyPI
codemod-yamlModifies YAML documents in place with surgical…
permissive · top 15,000 on PyPI
tree-sitter-htmlProvides an HTML grammar for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-goProvides a Go language grammar for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-javaProvides a Java language grammar for…
permissive · top 5,000 on PyPI
dbt-extractorExtracts metadata (refs, sources, configs) from…
permissive · top 1,000 on PyPI