--- id: tree-sitter-go version: "0.25.0" license: MIT license_treatment: permissive maintenance: active --- # tree-sitter-go — Go grammar for tree-sitter License: permissive · Maintenance: active · Downloads: 10.1M/mo ## 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 above — verify before relying. Provides a Go language grammar for tree-sitter, enabling incremental parsing and syntax tree analysis of Go source code. 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 pip install tree-sitter-go uv add tree-sitter-go poetry add tree-sitter-go ## Installing tree-sitter-go 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. 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() Requires Python 3.10 or later; assumes tree-sitter Python bindings are available in the environment. 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_current - Install friction: medium - Maintenance: active - Downloads: 10.1M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags go language parsing, tree-sitter go grammar, incremental go parser, go syntax tree, go code analysis, tree-sitter language binding, go ast parsing, parsing, go-language, syntax-analysis [View on SkillFed](https://skillfed.io/packages/tree-sitter-go) · [View on PyPI](https://pypi.org/project/tree-sitter-go/)