skillfed

tree-sitter-java

Java grammar for tree-sitter

tree-sitter-java v0.23.5 10.8M downloads/30d#1,432 on PyPI273
Permissive license MIT AGING released

What it is and what it does

tree-sitter-java is a language grammar binding that integrates Java parsing into the tree-sitter incremental parsing framework. It allows you to parse Java source code into a syntax tree that can be queried and analyzed programmatically. The package provides precompiled wheels for multiple platforms, reducing installation complexity compared to building from source.

The package is part of the broader tree-sitter ecosystem and is used primarily by developers building code analysis tools, linters, refactoring utilities, or IDE features that need to understand Java syntax. It has no runtime dependencies and supports current Python versions starting from 3.9.

Use it for:

  • Build a code analysis tool that traverses Java syntax trees to detect patterns or enforce style rules.
  • Implement a Java refactoring utility that parses and transforms Java source code programmatically.
  • Create an IDE plugin or language server that needs fast, incremental parsing of Java files.
  • Extract metrics or metadata from Java codebases by querying the parsed syntax tree.
  • Develop a code formatter or linter that understands Java grammar structure.

Worth the install?

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

Provides a Java language grammar for tree-sitter, enabling incremental parsing and syntax tree analysis of Java source code.

Yes, if you need programmatic Java parsing with incremental updates. The package is stable, permissively licensed, and has no runtime dependencies. Install friction is moderate due to compilation, but prebuilt wheels are available for common platforms. The aging maintenance status (601 days since release) is not a blocker for a grammar binding, which changes less frequently than application code, but verify that the Java grammar version meets your feature requirements.

Install

tree-sitter-java on PyPI

pip

pip install tree-sitter-java

uv

uv add tree-sitter-java

poetry

poetry add tree-sitter-java

Installing tree-sitter-java

Before you install

Medium install friction due to compiled wheels; prebuilt binaries available for common platforms (macOS x86_64/arm64, Linux x86_64/aarch64, Windows x64/arm64) but requires Python 3.9+. Package is aging (601 days since last release) but repository remains active with recent commits.

License in practice

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

Quickstart

pip install tree-sitter-java

from tree_sitter_java import language

Requires Python 3.9 or later; tree-sitter framework must be installed separately.

Verify before relying

  • Whether tree-sitter Python bindings are automatically pulled in or must be manually installed.
  • Performance characteristics for large codebases or real-time parsing scenarios.
  • Completeness of Java grammar coverage (e.g., Java 17+ features, records, sealed classes).
  • How to instantiate and use the language grammar once imported.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance aging — 601 days since the last release
Last repo commit
First released
Downloads 10,836,915/month — #1,432 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: tree_sitter_java-0.23.5-cp39-abi3-macosx_10_9_x86_64.whl; tree_sitter_java-0.23.5-cp39-abi3-macosx_11_0_arm64.whl; tree_sitter_java-0.23.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; tree_sitter_java-0.23.5-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; tree_sitter_java-0.23.5-cp39-abi3-musllinux_1_2_x86_64.whl; tree_sitter_java-0.23.5-cp39-abi3-win_amd64.whl; tree_sitter_java-0.23.5-cp39-abi3-win_arm64.whl

Keywords: incremental, parsing, tree-sitter, java

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

Tags

java parser tree-sitterincremental java parsingjava syntax tree analysistree-sitter language bindingjava grammar parserparse java code programmaticallyjava ast generation
parsingjavasyntax-analysis

More Linguistic packages