gitmyhub

termui

Go ★ 14k updated 11mo ago

Golang terminal dashboard

termui is a Go library for building interactive terminal dashboards with charts, tables, progress bars, and other visual widgets that run entirely inside a command-line window, with keyboard and mouse support.

Gosetup: moderatecomplexity 3/5

termui is a Go library for building dashboard-style displays that run entirely inside a terminal window. Instead of opening a separate browser or GUI application, you write a Go program that uses termui to draw charts, tables, progress bars, and other visual elements directly in your command-line interface. The library works across platforms and responds to keyboard and mouse input, as well as terminal resize events.

The library includes a set of ready-made components: bar charts, line plots, scatter plots, pie charts, sparklines, tables, scrollable lists, tree views, a gauge for showing percentages, and a braille-dot canvas for freeform drawing. You can position these components on a grid layout that scales relative to the terminal size, or place them at fixed coordinates if you prefer. You can also create custom components beyond the built-in set.

Several tools use termui as their display layer, including gotop (a system resource monitor), a Docker container dashboard, a Jira interface, and an Ethereum node monitor. The library is written in Go and released under the MIT license. The README notes that the maintainer's availability is inconsistent, so update frequency may vary, and the project is open to new contributors taking on a more active maintenance role.

Where it fits