--- id: tree-sitter-java version: "0.23.5" license: MIT license_treatment: permissive maintenance: aging --- # tree-sitter-java — Java grammar for tree-sitter License: permissive · Maintenance: aging · Downloads: 10.8M/mo ## 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 above — 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 pip install tree-sitter-java uv add tree-sitter-java 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_current - Install friction: medium - Maintenance: aging - Downloads: 10.8M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags java parser tree-sitter, incremental java parsing, java syntax tree analysis, tree-sitter language binding, java grammar parser, parse java code programmatically, java ast generation, parsing, java, syntax-analysis [View on SkillFed](https://skillfed.io/packages/tree-sitter-java) · [View on PyPI](https://pypi.org/project/tree-sitter-java/)