tree-sitter-kotlin
Kotlin grammar for tree-sitter
What it is and what it does
tree-sitter-kotlin is a language grammar binding for Kotlin that integrates with the tree-sitter incremental parsing framework. It provides precompiled wheels for Python 3.9+ across Linux, macOS (Intel and ARM), and Windows, reducing installation friction on supported platforms. The package is maintained as part of the tree-sitter-grammars community project and follows the official Kotlin language specification.
The grammar enables you to parse Kotlin source code and extract its syntax tree for analysis, transformation, or code generation tasks. It is typically used in tools that need to understand or manipulate Kotlin code structure—such as linters, refactoring engines, documentation generators, or language servers—without requiring a full Kotlin compiler.
Use it for:
- Build a Kotlin linter or code style checker that traverses the syntax tree to enforce conventions.
- Extract function signatures and class definitions from Kotlin source for documentation generation.
- Perform automated refactoring by identifying and transforming specific syntax patterns in Kotlin files.
- Analyze Kotlin codebases to gather metrics on code complexity, function count, or dependency usage.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Kotlin language grammar for tree-sitter, enabling incremental parsing and syntax tree analysis of Kotlin code.
Yes, if you need to parse and analyze Kotlin code programmatically. The MIT license is unrestricted, no security vulnerabilities are known, and precompiled wheels make installation straightforward on common platforms. However, maintenance is dormant (last release 582 days ago), so verify that the grammar covers your Kotlin version and feature set before committing to a production tool.
Install
tree-sitter-kotlin on PyPI
pip
pip install tree-sitter-kotlinuv
uv add tree-sitter-kotlinpoetry
poetry add tree-sitter-kotlinInstalling tree-sitter-kotlin
Before you install
Medium install friction due to compiled wheels for multiple platforms. Dormant maintenance status—last release 582 days ago, though repository remains active with a recent commit on 2025-01-16.
License in practice
MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install tree-sitter-kotlin
import tree_sitter_kotlin
Requires Python ≥3.9. Requires tree-sitter as a runtime dependency (not listed in package metadata).
Verify before relying
- Whether tree-sitter is declared as a runtime dependency or must be installed separately.
- Completeness of Kotlin grammar coverage relative to the official Kotlin language specification.
- Performance characteristics and memory footprint for large codebases.
- How to use the imported module to parse Kotlin code (usage pattern not documented in fact sheet).
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 582 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,232,980/month — #3,196 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tree_sitter_kotlin-1.1.0-cp39-abi3-macosx_10_9_x86_64.whl; tree_sitter_kotlin-1.1.0-cp39-abi3-macosx_11_0_arm64.whl; tree_sitter_kotlin-1.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; tree_sitter_kotlin-1.1.0-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; tree_sitter_kotlin-1.1.0-cp39-abi3-musllinux_1_2_x86_64.whl; tree_sitter_kotlin-1.1.0-cp39-abi3-win_amd64.whl; tree_sitter_kotlin-1.1.0-cp39-abi3-win_arm64.whl
Keywords: incremental, parsing, tree-sitter, kotlin
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-pythonProvides a Python grammar for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-objcProvides a tree-sitter grammar for parsing…
permissive · top 5,000 on PyPI
tree-sitter-language-packProvides pre-compiled tree-sitter parsers for…
permissive · top 5,000 on PyPI
tree-sitter-tomlProvides a tree-sitter parser grammar for TOML…
permissive · top 5,000 on PyPI
tree-sitter-goProvides a Go language grammar for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-luaProvides a tree-sitter grammar for parsing Lua…
permissive · top 5,000 on PyPI
tree-sitter-scalaProvides a tree-sitter grammar for parsing…
permissive · top 5,000 on PyPI
tree-sitter-zigProvides a tree-sitter grammar for parsing Zig…
permissive · top 5,000 on PyPI
tree-sitter-typescriptProvides TypeScript and TSX language grammars…
permissive · top 5,000 on PyPI