skillfed

tree-sitter-lua

Lua grammar for tree-sitter

tree-sitter-lua v0.5.0 1.7M downloads/30d#3,613 on PyPI103
Permissive license MIT Active released

What it is and what it does

tree-sitter-lua is a language grammar binding that provides Lua syntax support for the tree-sitter incremental parser framework. It parses Lua 5.x and LuaJIT 2.x code into syntax trees, enabling tools to analyze, transform, or lint Lua programs. The package ships as precompiled wheels for common platforms (macOS, Linux, Windows, ARM), so installation is straightforward across architectures.

The grammar is maintained as part of the tree-sitter-grammars organization and includes an external scanner for handling Lua's string and comment syntax. It's a low-level tool: you use it when building linters, code formatters, static analyzers, or IDE features that need to understand Lua syntax. You'll need to install the tree-sitter library separately to actually parse code with this grammar.

Use it for:

  • Build a Lua linter or code formatter that understands the full syntax tree.
  • Implement IDE features like symbol navigation or refactoring for Lua code.
  • Analyze Lua codebases for style violations or architectural patterns.
  • Generate documentation or metrics from Lua source files.
  • Create a Lua-aware code search or transformation tool.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a tree-sitter grammar for parsing Lua 5.x and LuaJIT 2.x code, enabling incremental syntax analysis and AST generation.

Yes, if you are building developer tools for Lua and need accurate incremental parsing. The package is actively maintained, has no known vulnerabilities, and ships on multiple platforms. Install friction is moderate but manageable. Not necessary for end-user Lua applications—only for tooling that must analyze Lua code.

Install

tree-sitter-lua on PyPI

pip

pip install tree-sitter-lua

uv

uv add tree-sitter-lua

poetry

poetry add tree-sitter-lua

Installing tree-sitter-lua

Before you install

Medium install friction due to precompiled wheels for multiple platforms (x86_64, ARM, Windows, macOS, Linux), but requires Python 3.10+. No runtime dependencies. Repository is actively maintained with recent commits.

License in practice

MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and proprietary projects.

Quickstart

pip install tree-sitter-lua

import tree_sitter_lua

Requires Python 3.10 or later; tree-sitter library must be installed separately to use the grammar.

Verify before relying

  • How to instantiate and use the grammar object returned by tree_sitter_lua after import.
  • Whether the package includes query API bindings or only the grammar/language object.
  • Performance characteristics for large Lua codebases or real-time parsing scenarios.
  • Compatibility with specific tree-sitter versions.

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 — 169 days since the last release
Last repo commit
First released
Downloads 1,724,438/month — #3,613 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: tree_sitter_lua-0.5.0-cp310-abi3-macosx_10_9_x86_64.whl; tree_sitter_lua-0.5.0-cp310-abi3-macosx_11_0_arm64.whl; tree_sitter_lua-0.5.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; tree_sitter_lua-0.5.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; tree_sitter_lua-0.5.0-cp310-abi3-musllinux_1_2_aarch64.whl; tree_sitter_lua-0.5.0-cp310-abi3-musllinux_1_2_x86_64.whl; tree_sitter_lua-0.5.0-cp310-abi3-win_amd64.whl; tree_sitter_lua-0.5.0-cp310-abi3-win_arm64.whl

Keywords: incremental, parsing, tree-sitter, lua

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

Tags

lua parser tree-sitterincremental lua parsinglua ast generationlua syntax analysistree-sitter grammar lualua code parsingluajit parser
parsingluaast

More Linguistic packages