--- id: tree-sitter-ruby version: "0.23.1" license: MIT license_treatment: permissive maintenance: active --- # tree-sitter-ruby — Ruby grammar for tree-sitter License: permissive · Maintenance: active · Downloads: 7.1M/mo ## What it is and what it does tree-sitter-ruby is a language binding that provides tree-sitter's incremental parsing engine for Ruby code. It ships as pre-built binary wheels for common platforms (macOS, Linux, Windows, ARM), reducing installation friction. The package contains a compiled grammar that can parse Ruby syntax into an abstract syntax tree, enabling tools to analyze, transform, or navigate Ruby code programmatically without invoking the Ruby interpreter. You use it by importing the language module to access the grammar definition. This is useful for linters, code formatters, refactoring tools, or any application that needs to understand Ruby's structure. The grammar is maintained as part of the official tree-sitter project and references the Whitequark parser's AST format. Use it for: - Building a Ruby linter or static analysis tool that needs to traverse code structure. - Implementing a code formatter or refactoring tool for Ruby projects. - Creating IDE features like symbol extraction, navigation, or code completion. - Analyzing Ruby codebases to extract metrics, dependencies, or patterns. - Integrating Ruby parsing into a polyglot code analysis platform. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a Ruby language grammar for tree-sitter, enabling incremental parsing and abstract syntax tree generation for Ruby code. Yes, if you need to parse Ruby code programmatically. The package is actively maintained, has no vulnerabilities, carries a permissive MIT license, and requires only Python 3.9+. Install friction is medium due to binary wheels, but prebuilt distributions are available for common platforms. Not necessary if you only need to run Ruby code—use this when you need to analyze or manipulate Ruby syntax. ## Install pip install tree-sitter-ruby uv add tree-sitter-ruby poetry add tree-sitter-ruby ## Installing tree-sitter-ruby Before you install: Medium install friction due to binary wheels for multiple platforms (macOS, Linux, Windows, ARM). Actively maintained with recent commits and no runtime dependencies, making setup straightforward once the wheel is available for your platform. 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-ruby import tree_sitter_ruby ruby_lang = tree_sitter_ruby.language() Requires Python 3.9 or later; binary wheels are available for common platforms but may require compilation on unsupported architectures. Verify before relying: - Whether the grammar covers all Ruby language features or has known limitations in syntax support. - Performance characteristics for parsing large Ruby files or codebases. - Compatibility with specific Ruby versions or syntax dialects. - How to integrate tree-sitter-ruby with a parser to generate and traverse syntax trees. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 7.1M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags ruby parser tree-sitter, incremental ruby parsing, ruby ast generation, tree-sitter grammar ruby, ruby syntax tree, parse ruby code programmatically, ruby language grammar, parsing, ruby-tooling, ast [View on SkillFed](https://skillfed.io/packages/tree-sitter-ruby) · [View on PyPI](https://pypi.org/project/tree-sitter-ruby/)