tree-sitter-go
Go grammar for tree-sitter
Decision gist · record as of 2026-08-14
Yes, if you need to parse or analyze Go code. The package is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and provides prebuilt wheels for common platforms. Medium install friction is typical for language grammars. Install if you're building tools that require Go syntax tree access.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; assumes tree-sitter Python bindings are available in the environment.
- Medium install friction due to compiled wheels; prebuilt binaries available for common platforms (macOS x86_64/arm64, Linux x86_64/aarch64, Windows x64/arm64).
- Package is actively maintained with recent commits and no known vulnerabilities.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
last release 2025-08-29 (350 days) · last repo commit 2026-02-28 · 415 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 10,085,579 downloads/mo, #1,484 on PyPI
Alternatives
Verify before relying
pip install tree-sitter-go
import tree_sitter_go
grammar = tree_sitter_go.language()- Whether the package includes documentation or examples beyond the GitHub repository.
- Performance characteristics for parsing large Go codebases or real-world projects.
- Compatibility with specific versions of the tree-sitter Python library.
- How tree-sitter-go integrates with the broader tree-sitter ecosystem for practical use.
What it is and what it does
tree-sitter-go is a language grammar binding that provides Go syntax parsing for the tree-sitter incremental parsing framework. It allows developers to parse Go source code into syntax trees, enabling static analysis, code transformation, and language tooling without invoking the Go compiler. The package ships as precompiled wheels for multiple platforms, reducing installation friction.
The package itself is a thin wrapper around a tree-sitter grammar definition for Go. It has no runtime dependencies and works by exposing the compiled Go grammar to tree-sitter's parsing infrastructure. Typical use cases include building linters, refactoring tools, code generators, and IDE features that need to understand Go syntax programmatically.
Use it for
- Build a static analysis tool that inspects Go code for patterns or violations without running it.
- Implement a code formatter or refactoring tool that transforms Go source while preserving structure.
- Extract metrics or metadata from Go codebases (e.g., function counts, import analysis).
- Create IDE plugins or editor extensions that need Go syntax awareness for highlighting or completion.
- Generate documentation or reports by parsing Go package structure and comments.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to parse or analyze Go code.
The package is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and provides prebuilt wheels for common platforms. Medium install friction is typical for language grammars. Install if you're building tools that require Go syntax tree access.
Install
tree-sitter-go on PyPI
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). Package is actively maintained with recent commits and no known vulnerabilities.
Requires Python 3.10 or later; assumes tree-sitter Python bindings are available in the environment.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install tree-sitter-go
import tree_sitter_go
grammar = tree_sitter_go.language()
Verify before relying
- Whether the package includes documentation or examples beyond the GitHub repository.
- Performance characteristics for parsing large Go codebases or real-world projects.
- Compatibility with specific versions of the tree-sitter Python library.
- How tree-sitter-go integrates with the broader tree-sitter ecosystem for practical use.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 350 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 10,085,579 / month, #1,484 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersTopic :: Software Development :: CompilersTopic :: Text Processing :: LinguisticTyping :: Typed |
Evidence: tree_sitter_go-0.25.0-cp310-abi3-macosx_10_9_x86_64.whl; tree_sitter_go-0.25.0-cp310-abi3-macosx_11_0_arm64.whl; tree_sitter_go-0.25.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; tree_sitter_go-0.25.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; tree_sitter_go-0.25.0-cp310-abi3-musllinux_1_2_aarch64.whl; tree_sitter_go-0.25.0-cp310-abi3-musllinux_1_2_x86_64.whl; tree_sitter_go-0.25.0-cp310-abi3-win_amd64.whl; tree_sitter_go-0.25.0-cp310-abi3-win_arm64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “go language parsing”
- tree-sitter-goProvides a Go language grammar for tree-sitter, enabling incremental…
- pyleriPyleri is a left-right parser generator that lets you define a…
- pyhclParses HCL (HashiCorp Configuration Language) files into Python…
Give your agent the search over MCP, or paste the wish link into any chat.
More Linguistic packages
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
tiktoken is a fast BPE tokenizer that converts text into token sequences compatible with OpenAI models, supporting multiple encoding schemes including o200k_base and model-specific encodings.
Install it if you work with OpenAI APIs or need to understand token boundaries in GPT-family models.
Detects character encoding and language in byte sequences with high accuracy, supporting 99 encodings and returning confidence scores, language tags, and MIME types.
Install it if you need to detect character encoding or language in byte data; the rewrite makes it substantially faster and more accurate than its predecessors.
Converts Unicode text to ASCII by transliterating non-ASCII characters into their closest ASCII equivalents, with no runtime dependencies.
However, if transliteration quality or ongoing maintenance matters, consider unidecode instead despite its GPL-only license.
Lark is a parsing library that builds abstract syntax trees from context-free grammars, supporting multiple parsing algorithms (Earley, LALR(1), CYK) with automatic line and column tracking.
Python bindings to the tree-sitter parsing library, enabling incremental parsing and syntax tree analysis for source code.
See also tree-sitter-c · tree-sitter-java · tree-sitter-scala · tree-sitter-verilog · tree-sitter-swift · tree-sitter-typescript · tree-sitter-python · tree-sitter-javascript · tree-sitter-lua · tree-sitter-objc