A cross-platform, fully-customizable terminal dashboard and widget library for Go applications.
termui is a Go library for creating terminal-based dashboards and user interfaces. It provides a set of customizable widgets and tools to build interactive, cross-platform terminal applications with support for events like keyboard input and mouse interactions. It solves the problem of building rich terminal interfaces without relying on external GUI frameworks.
Go developers building command-line tools, monitoring dashboards, or interactive terminal applications that require data visualization and user interaction.
Developers choose termui for its simplicity, flexibility, and cross-platform support. It offers a comprehensive set of premade widgets while allowing easy creation of custom components, making it ideal for rapid development of terminal-based interfaces.
Golang terminal dashboard
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes bar charts, gauges, lists, tables, and more, as shown in the extensive examples directory, enabling rapid development of common terminal UI components without reinventing the wheel.
Allows easy creation of custom widgets, emphasized in the philosophy, providing developers the freedom to tailor interfaces to specific needs beyond the premade options.
Built on termbox-go, it supports keyboard, mouse, and terminal resizing events across platforms, making interactive terminal applications portable without extra configuration.
The Hello World example demonstrates minimal setup with ui.Init() and ui.Render(), lowering the barrier to entry for quickly prototyping terminal interfaces.
The README openly states the maintainer's fluctuating availability and invites contributors, indicating potential delays in updates, bug fixes, and long-term support.
Stable releases are on version-numbered branches while new changes go to master first, a strategy that could confuse users and lead to instability if not carefully managed.
Documentation is provided via a wiki rather than comprehensive API docs, which may lack depth and structure, making advanced usage or troubleshooting more challenging.