rime/librime

Rime Input Method Engine, the core library

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 54 minutes ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 15th, 2026
Created on March 20th, 2012
Open Issues & Pull Requests: 163 (+0)
GitHub issues: Enabled
Number of forks: 727
Total Stargazers: 4,624 (+0)
Total Subscribers: 93 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.6 hours
Mean response time: 31.4 days
90th percentile: 18.9 days
Tracked items: 162

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 14% of issues opened in the past year have never received a reply. 96% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 62% of issues opened in the past year have been closed, leaving a working backlog. Three people close 60% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 49
New in 7 days: 2
Closed in 7 days: 1
Avg open age: 596 days
Stale 30+ days: 46
Stale 90+ days: 40

Recent activity

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

Top labels

  • enhancement (79)
  • bug (59)
  • intended behaviour (4)
  • question (3)
  • invalid (2)
  • wontfix (1)

Detailed Description

Librime is a modular, extensible input method engine written in cross-platform C++ that powers the Rime input system.

The project addresses the need for a flexible, customizable input method framework capable of supporting diverse Chinese input approaches. Rather than building a monolithic solution, librime provides a core engine designed to work with shape-based and phonetic-based input methods alike. It leverages open-source technologies and includes native support for Traditional Chinese with conversion to Simplified Chinese and other regional standards through OpenCC integration. A key innovation is the Rime input schema, a YAML-based domain-specific language that allows rapid experimentation with new input method designs without modifying the engine itself. The tool also features Spelling Algebra, a mechanism for creating variant spellings particularly suited to Chinese dialects, and supports chord-typing on standard Qwerty keyboards.

Developers should choose librime if they need to build or customize a Chinese input method rather than use a pre-built solution. It suits projects requiring deep control over input behavior, support for multiple input schemes, or integration with regional language standards. The project provides official frontends for Linux, macOS, and Windows, allowing developers to focus on the input logic rather than platform-specific UI concerns. Those building input methods for Chinese language applications will find the YAML schema approach more accessible than working with compiled input method code.

The project maintains active continuous integration across platforms. Development follows a structured approach with clear separation between the core engine and platform-specific frontends. The codebase requires modern C++ tooling with C++17 support and manages dependencies through standard build systems, indicating a mature development practice. The project tracks releases and maintains documentation for building on multiple operating systems, suggesting sustained attention to accessibility for new contributors and users.