TermUi - a direct mode terminal user interface framework with components

A direct-mode Terminal UI framework for Elixir/BEAM, inspired by BubbleTea (Go) and Ratatui (Rust).

TermUI leverages BEAM’s unique strengths—fault tolerance, actor model, hot code reloading—to build robust terminal applications using The Elm Architecture.

Blue Theme Yellow Theme

Features

  • Elm Architecture - Predictable state management with init/update/view

  • Rich Widget Library - Gauges, tables, menus, charts, dialogs, and more

  • Efficient Rendering - Double-buffered differential updates at 60 FPS

  • Themable - True color RGB support (16 million colors)

  • Cross-Platform - Linux, macOS, Windows 10+ terminal support

  • OTP Integration - Supervision trees, fault tolerance, hot code reload

Installation

Add term_ui to your dependencies in mix.exs:

def deps do
  [
    {:term_ui, "~> 0.1.0"}
  ]
end

https://github.com/pcharbon70/term_ui

48 Likes