#language #input #typing #ime #scripting-language #african #customizable

deprecated clafrica-lib

This library contains a set of tools to make handling of clafrica code more convenient. NOTE: This crate was renamed to afrim-memory. Please use it under its new name

6 releases

0.3.2 Feb 7, 2024
0.3.1 Sep 16, 2023
0.3.0 Jun 3, 2023
0.2.0 May 8, 2023
0.1.1 Apr 28, 2023

#16 in #ime

Download history 2/week @ 2024-02-07 9/week @ 2024-02-14 40/week @ 2024-02-21 15/week @ 2024-02-28 3/week @ 2024-03-13

65 downloads per month
Used in 2 crates (via clafrica)

MIT license

235 lines

Afrim ⌨️

Changelog crates.io LICENSE Rust docs.rs dependency status Coverage Status

Afrim is an input method for African languages. It is designed to protect the native language of various local dialects of Africa and is a universal phonetic-based input method platform.


MIT license.


AFRIM is the abbreviation of AFRICA IME or Africa Input Method Engine.

From the beginning, AFRIM was written as a remake of Clafrica IME, and named clafrica.

Then, we created an input method library with some improvements inspired from RIME. We renamed it to Afrim Input Method Engine.

Later, it supports Amharic and Geez and other african phonetic input method, and we want support all african phonetic Input Method.

Inspired from librime, we want AFRIM aka Afrim Input Method Engine to be the top IME for african languages.

For more details on the project name, confer the issue https://github.com/pythonbrad/afrim/issues/107.


  • 🌐 Support for all sequential codification codes.
  • 🎨 Easy to use interface .
  • 📚 Customizable dictionary.
  • 💻 Support for both desktop and web platform.
  • 🤖 Support for the Rhai scripting language.
  • 📝 Auto-suggestion / Auto-correction / Auto-completion.
  • ☁️ Full immersion mode for non-latin languages. (🚧 Experimental 🚧)


Build dependencies (Linux only)

  • libxtst-dev
  • libevdev-dev
  • libxdo-dev

Runtime dependencies (Linux only)

  • libxtst-dev
  • libevdev-dev
  • libxdo-dev

Supported keyboard layouts


In using cargo

cargo install afrim

Try it in the console

afrim comes with a REPL application which can be used to test if his library is working. To use the afrim, simply provide the path of the datafile that suit your needs.

Eg. afrim configfile.toml

📚 Dataset

🏢 Official:

🧑🏿‍🤝‍🧑🏿 Community:

  • Feel free to propose your own.

🎨 Frontends

🏢 Official:

🧑🏿‍🤝‍🧑🏿 Community:

  • Feel free to propose your own.


If you would like to contribute to this project, please fork the repository and submit a pull request with your changes.

No runtime deps