tree-sitter-lua
Lua grammar for tree-sitter
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; tree-sitter library must be installed separately to use the grammar.
- Medium install friction due to precompiled wheels for multiple platforms (x86_64, ARM, Windows, macOS, Linux), but requires Python 3.10+.
- No runtime dependencies.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and proprietary projects.
last release 2026-02-26 (169 days) · last repo commit 2026-06-19 · 103 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,724,438 downloads/mo, #3,613 on PyPI
Alternatives
Verify before relying
pip install tree-sitter-lua
import tree_sitter_lua- 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.
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 on it.
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
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.
Requires Python 3.10 or later; tree-sitter library must be installed separately to use the grammar.
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
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 |
| Classifiers | Intended Audience :: DevelopersTopic :: Software Development :: CompilersTopic :: Text Processing :: LinguisticTyping :: Typed |
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
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 › “lua parser tree-sitter”
- tree-sitter-luaProvides a tree-sitter grammar for parsing Lua 5.x and LuaJIT 2.x…
- luaparserParses Lua source code into an abstract syntax tree (AST) and…
- tree-sitter-xmlProvides a tree-sitter parser grammar for XML and DTD files, enabling…
Give your agent the search over MCP, or paste the wish link into any chat.
More Linguistic packages
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
tiktoken is a fast BPE tokenizer that converts text into token sequences compatible with OpenAI models, supporting multiple encoding schemes including o200k_base and model-specific encodings.
Install it if you work with OpenAI APIs or need to understand token boundaries in GPT-family models.
Detects character encoding and language in byte sequences with high accuracy, supporting 99 encodings and returning confidence scores, language tags, and MIME types.
Install it if you need to detect character encoding or language in byte data; the rewrite makes it substantially faster and more accurate than its predecessors.
Converts Unicode text to ASCII by transliterating non-ASCII characters into their closest ASCII equivalents, with no runtime dependencies.
However, if transliteration quality or ongoing maintenance matters, consider unidecode instead despite its GPL-only license.
Lark is a parsing library that builds abstract syntax trees from context-free grammars, supporting multiple parsing algorithms (Earley, LALR(1), CYK) with automatic line and column tracking.
Python bindings to the tree-sitter parsing library, enabling incremental parsing and syntax tree analysis for source code.
See also luaparser · tree-sitter-python · tree-sitter-go · tree-sitter-kotlin · tree-sitter-java · tree-sitter-zig · tree-sitter-php · tree-sitter-ruby · tree-sitter-yaml · lupa