skillfed

tree-sitter-scala

Scala grammar for tree-sitter

tree-sitter-scala v0.26.2 1.7M downloads/30d#3,608 on PyPI196
Permissive license MIT Active released

What it is and what it does

tree-sitter-scala is a language grammar binding that plugs into the tree-sitter parsing framework to analyze Scala code. It parses both Scala 2 and Scala 3 syntax into an abstract syntax tree, enabling tools to inspect, transform, or analyze Scala source without running a compiler. The package is a precompiled Python binding to a Rust-based grammar, distributed as platform-specific wheels.

You use it by importing the language binding and integrating it with tree-sitter's parsing infrastructure. It has no runtime dependencies and is actively maintained by the tree-sitter project. The medium install friction reflects the need for a matching precompiled wheel; once installed, it integrates cleanly into any Python code analysis pipeline.

Use it for:

  • Build a Scala linter or code formatter that needs to inspect and traverse the syntax tree.
  • Extract code metrics or perform static analysis on Scala projects without invoking the Scala compiler.
  • Implement incremental parsing for a Scala IDE or editor plugin that updates the tree as code changes.
  • Generate documentation or visualizations from Scala source by walking the parsed tree structure.
  • Migrate or refactor Scala codebases by pattern-matching on tree nodes and rewriting subtrees.

Worth the install?

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

Provides a tree-sitter grammar for parsing Scala 2 and Scala 3 source code, enabling incremental syntax analysis and code structure extraction.

Yes, if you need to parse and analyze Scala code programmatically. The package is actively maintained, has no runtime dependencies, carries a permissive MIT license, and is backed by the mature tree-sitter ecosystem. Medium install friction is acceptable for a compiled grammar binding. Install only if your target platform has a precompiled wheel available.

Install

tree-sitter-scala on PyPI

pip

pip install tree-sitter-scala

uv

uv add tree-sitter-scala

poetry

poetry add tree-sitter-scala

Installing tree-sitter-scala

Before you install

Medium install friction due to compiled wheel distribution across multiple platforms (macOS, Linux, Windows, ARM). Package is actively maintained with a release 6 days old and no runtime dependencies, making it straightforward once the wheel is available for your platform.

License in practice

MIT license is permissive; you can use, modify, and distribute this package freely in commercial and open-source projects with minimal restrictions.

Quickstart

pip install tree-sitter-scala

from tree_sitter_scala import language

Requires Python 3.9 or later; the package is distributed as precompiled wheels, so installation may fail on unsupported architectures or Python versions without a matching wheel.

Verify before relying

  • Whether the grammar covers all Scala 2 and Scala 3 syntax features or has known gaps.
  • Performance characteristics for large Scala codebases or real-time parsing scenarios.
  • Integration examples or documentation beyond the GitHub repository.
  • How to use the language binding with external parsing frameworks.

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

Evidence: tree_sitter_scala-0.26.2-cp39-abi3-macosx_10_9_x86_64.whl; tree_sitter_scala-0.26.2-cp39-abi3-macosx_11_0_arm64.whl; tree_sitter_scala-0.26.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; tree_sitter_scala-0.26.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; tree_sitter_scala-0.26.2-cp39-abi3-musllinux_1_2_x86_64.whl; tree_sitter_scala-0.26.2-cp39-abi3-win_amd64.whl; tree_sitter_scala-0.26.2-cp39-abi3-win_arm64.whl

Keywords: incremental, parsing, tree-sitter, scala

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseTopic :: Software Development :: CompilersTopic :: Text Processing :: LinguisticTyping :: Typed

Tags

scala parser tree-sitterincremental parsing scalascala syntax treecode parsing scalatree-sitter grammar scalascala ast extractionscala language parsing
parsingscalasyntax-analysis

More Linguistic packages