skillfed

tree-sitter-embedded-template

Embedded Template (ERB, EJS) grammar for tree-sitter

tree-sitter-embedded-template v0.25.0 3.4M downloads/30d#2,631 on PyPI82
Permissive license MIT AGING released

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-template

uv

uv add tree-sitter-embedded-template

poetry

poetry add tree-sitter-embedded-template

Installing 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

Intended Audience :: DevelopersTopic :: Software Development :: CompilersTopic :: Text Processing :: LinguisticTyping :: Typed

Tags

tree-sitter parser embedded templatesERB EJS syntax parsingtemplate language tree-sitterembedded code parsingincremental template parsingtree-sitter grammar erb ejs
parsingtree-sittertemplate-languages

More Linguistic packages