tree-sitter-rust
Rust grammar for tree-sitter
What it is and what it does
tree-sitter-rust is a language grammar binding that integrates the Rust language parser into the tree-sitter incremental parsing framework. It allows code to parse Rust source files and work with their syntax trees programmatically. The grammar is derived from the Rust language reference and supports Rust's full syntax.
The package trades initial parse speed for incremental update performance: parsing a file takes roughly two to three times longer than rustc's hand-written parser, but after an edit, tree-sitter can update the existing syntax tree in less than a millisecond. This makes it well-suited for editor integrations, code analysis tools, and language server implementations that need responsive feedback as code changes.
Use it for:
- Build a Rust code editor or IDE plugin that updates syntax highlighting as the user types.
- Analyze Rust codebases to extract syntax tree information for refactoring or code generation.
- Implement a language server with fast incremental parsing for Rust code.
- Parse and transform Rust source code programmatically in analysis pipelines.
- Create syntax-aware code search or navigation tools that understand Rust's grammar.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Rust language grammar for tree-sitter, enabling incremental parsing and syntax tree analysis of Rust code.
Yes, if you need to parse Rust code and want incremental parsing performance. The package is actively maintained, has no security vulnerabilities, uses a permissive MIT license, and supports Python >=3.9 on all major platforms. Medium install friction is typical for compiled language bindings. Verify that tree-sitter is available as a peer dependency before installing.
Install
tree-sitter-rust on PyPI
pip
pip install tree-sitter-rustuv
uv add tree-sitter-rustpoetry
poetry add tree-sitter-rustInstalling tree-sitter-rust
Before you install
Medium install friction due to compiled wheels, but well-supported across platforms (x86_64, ARM, Windows, macOS, Linux). Active maintenance with recent releases and no known vulnerabilities.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal attribution requirements.
Quickstart
pip install tree-sitter-rust
import tree_sitter_rust
Requires Python >=3.9. Requires tree-sitter as a peer dependency (not included in this package's runtime dependencies).
Verify before relying
- Whether tree-sitter is automatically installed as a transitive dependency or must be installed separately.
- API stability guarantees or semantic versioning policy for the grammar across releases.
- Specific use patterns and integration points with the tree-sitter framework from Python.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 140 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 10,299,257/month — #1,462 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tree_sitter_rust-0.24.2-cp39-abi3-macosx_10_9_x86_64.whl; tree_sitter_rust-0.24.2-cp39-abi3-macosx_11_0_arm64.whl; tree_sitter_rust-0.24.2-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; tree_sitter_rust-0.24.2-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; tree_sitter_rust-0.24.2-cp39-abi3-musllinux_1_2_aarch64.whl; tree_sitter_rust-0.24.2-cp39-abi3-musllinux_1_2_x86_64.whl; tree_sitter_rust-0.24.2-cp39-abi3-win_amd64.whl; tree_sitter_rust-0.24.2-cp39-abi3-win_arm64.whl
Keywords: incremental, parsing, tree-sitter, rust
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-swiftProvides a tree-sitter grammar for parsing…
permissive · top 5,000 on PyPI
tree-sitter-goProvides a Go language grammar 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-kotlinProvides a Kotlin language grammar for…
permissive · top 5,000 on PyPI
tree-sitter-rubyProvides a Ruby language grammar for…
permissive · top 5,000 on PyPI
tree-sitter-phpProvides a PHP language grammar for…
permissive · top 5,000 on PyPI
cargo-lambdacargo-lambda is a Cargo subcommand that…
permissive · top 15,000 on PyPI
ast-grep-cliast-grep-cli is a command-line tool for…
permissive · top 5,000 on PyPI
hogql-parser-rsParses HogQL query expressions into JSON AST…
permissive · top 5,000 on PyPI