rhaiscript/rhai

Rhai - An embedded scripting language for Rust.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 4 minutes ago
Added to GitGenius on September 11th, 2026
Created on February 29th, 2016
Open Issues & Pull Requests: 17 (+0)
GitHub issues: Enabled
Number of forks: 250
Total Stargazers: 5,668 (+0)
Total Subscribers: 25 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.1 hours
Mean response time: 9.3 days
90th percentile: 19.7 hours
Tracked items: 107

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 9% of issues opened in the past year have been closed. Three people close 88% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 1
Closed in 7 days: 10
Avg open age: 1,942 days
Stale 30+ days: 4
Stale 90+ days: 4

Recent activity

Opened in 7 days: 1
Closed in 7 days: 10
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (31)
  • bug (23)
  • question (18)
  • wontfix (17)
  • new feature (12)
  • vm (4)
  • docs (3)
  • help wanted (2)

Detailed Description

Rhai is an embedded scripting language for Rust that allows developers to execute dynamic scripts within Rust applications without external dependencies.

The tool solves the problem of adding runtime scriability to Rust programs while maintaining safety and performance. Rhai compiles scripts to an intermediate bytecode representation that executes on a virtual machine embedded in the host Rust application. This approach eliminates the need for external interpreters or complex FFI bindings, keeping the entire scripting system self-contained within the Rust ecosystem. The language supports no-std environments and WebAssembly targets, making it suitable for embedded systems and browser-based applications.

Rhai suits projects that need to expose configuration or extension points to end users without shipping a separate scripting runtime. It works well for game engines, automation tools, and applications where users should write custom logic without recompiling the host program. The embedded nature means scripts run in the same process as the Rust application, providing tight integration and minimal overhead. Teams choosing Rhai should expect a language designed specifically for embedding rather than a general-purpose scripting solution; it prioritizes simplicity and integration over feature completeness.

The project maintains steady development with regular commits addressing bug fixes, performance improvements, and incremental feature additions. Documentation is comprehensive and actively maintained alongside code changes. The maintainers respond to issues and pull requests consistently, indicating active stewardship of the codebase. The project demonstrates commitment to backward compatibility while evolving the language and runtime capabilities.