skillfed

tree-sitter-ruby

Ruby grammar for tree-sitter

tree-sitter-ruby v0.23.1 7.1M downloads/30d#1,786 on PyPI230
Permissive license MIT Active released

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 on this page — 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

tree-sitter-ruby on PyPI

pip

pip install tree-sitter-ruby

uv

uv add tree-sitter-ruby

poetry

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 the current Python release (>=3.9)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 641 days since the last release
Last repo commit
First released
Downloads 7,105,410/month — #1,786 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: tree_sitter_ruby-0.23.1-cp39-abi3-macosx_10_9_x86_64.whl; tree_sitter_ruby-0.23.1-cp39-abi3-macosx_11_0_arm64.whl; tree_sitter_ruby-0.23.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; tree_sitter_ruby-0.23.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; tree_sitter_ruby-0.23.1-cp39-abi3-musllinux_1_2_x86_64.whl; tree_sitter_ruby-0.23.1-cp39-abi3-win_amd64.whl; tree_sitter_ruby-0.23.1-cp39-abi3-win_arm64.whl

Keywords: incremental, parsing, tree-sitter, ruby

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseTopic :: Software Development :: CompilersTopic :: Text Processing :: LinguisticTyping :: Typed

Tags

ruby parser tree-sitterincremental ruby parsingruby ast generationtree-sitter grammar rubyruby syntax treeparse ruby code programmaticallyruby language grammar
parsingruby-toolingast

More Linguistic packages