tree-sitter-embedded-template
Embedded Template (ERB, EJS) grammar for tree-sitter
What it is and what it does
tree-sitter-embedded-template is a language grammar module for the tree-sitter incremental parser, specialized in parsing templating languages where scripting code is embedded within text using `<%` and `%>` delimiters. It supports ERB, EJS, ETLua, and ETA syntax patterns. The package provides precompiled binaries for multiple platforms and architectures, making it straightforward to integrate into Python applications that need to analyze or transform embedded-template source code.
This is a low-level parsing tool intended for developers building linters, formatters, code analyzers, or IDE features that work with embedded-template files. It does not execute templates or provide a rendering engine—it only parses the syntax tree. You would use it when you need programmatic access to the structure of template code, not when you need to render templates.
Use it for:
- Build a linter or formatter for ERB/EJS files by traversing the parsed syntax tree.
- Analyze embedded-template code in an IDE plugin to provide syntax highlighting or code completion.
- Extract and validate embedded scripting code from template files for security auditing.
- Implement a code refactoring tool that transforms template syntax while preserving structure.
- Generate documentation or metrics from template codebases by parsing and analyzing the tree.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a tree-sitter parser for embedded template languages like ERB and EJS, enabling syntactic analysis of code embedded within text using `<%` and `%>` delimiters.
Yes, if you are building developer tools or analysis pipelines that need to parse ERB, EJS, or related embedded-template languages. The prebuilt wheels and active repository make installation straightforward. Not necessary if you only need to render templates—use a template engine instead. Maintenance is slowing but the package remains stable with no known vulnerabilities.
Install
tree-sitter-embedded-template on PyPI
pip
pip install tree-sitter-embedded-templateuv
uv add tree-sitter-embedded-templatepoetry
poetry add tree-sitter-embedded-templateInstalling tree-sitter-embedded-template
Before you install
Medium friction: prebuilt wheels cover common platforms (x86_64, ARM, Windows), but requires Python 3.10+. Last release 350 days ago; repository remains active but maintenance pace is slowing.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for both open-source and proprietary projects.
Quickstart
pip install tree-sitter-embedded-template
from tree_sitter import Language, Parser
parser = Parser()
parser.set_language(Language('tree_sitter_embedded_template'))
Requires Python 3.10 or later; tree-sitter core library must be installed separately.
Verify before relying
- Whether tree-sitter core is automatically installed as a dependency or must be managed separately.
- Performance characteristics and parse speed for large embedded-template documents.
- Exact scope of template syntax variants supported beyond ERB, EJS, ETLua, and ETA.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | aging — 350 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,405,030/month — #2,631 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tree_sitter_embedded_template-0.25.0-cp310-abi3-macosx_10_9_x86_64.whl; tree_sitter_embedded_template-0.25.0-cp310-abi3-macosx_11_0_arm64.whl; tree_sitter_embedded_template-0.25.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; tree_sitter_embedded_template-0.25.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; tree_sitter_embedded_template-0.25.0-cp310-abi3-musllinux_1_2_aarch64.whl; tree_sitter_embedded_template-0.25.0-cp310-abi3-musllinux_1_2_x86_64.whl; tree_sitter_embedded_template-0.25.0-cp310-abi3-win_amd64.whl; tree_sitter_embedded_template-0.25.0-cp310-abi3-win_arm64.whl
Keywords: incremental, parsing, tree-sitter, embedded-template
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-javaProvides a Java language grammar for…
permissive · top 5,000 on PyPI
tree-sitter-pythonProvides a Python grammar for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-htmlProvides an HTML grammar for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-rubyProvides a Ruby language grammar for…
permissive · top 5,000 on PyPI
tree-sitter-jsonProvides a JSON grammar parser for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-tomlProvides a tree-sitter parser grammar for TOML…
permissive · top 5,000 on PyPI
tree-sitter-javascriptProvides a JavaScript and JSX parser grammar…
permissive · top 5,000 on PyPI
tree-sitter-goProvides a Go language grammar for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-kotlinProvides a Kotlin language grammar for…
permissive · top 5,000 on PyPI
tree-sitter-typescriptProvides TypeScript and TSX language grammars…
permissive · top 5,000 on PyPI