termui
termui is a cross-platform and fully-customizable terminal dashboard and widget library built on top of termbox-go. It is inspired by blessed-contrib and tui-rs and written purely in Go.
Features
- Built in widget implementations for common use cases
 - Utilities to create custom widgets
 - Relative widget positioning using a grid layout
 - Event system for keyboard, mouse and terminal resizing events
 - Colors and styling
 
Installation
go get -u github.com/gizak/termui
Hello World
package main
import (
	"log"
	ui "github.com/gizak/termui"
	"github.com/gizak/termui/widgets"
)
func main() {
	if err := ui.Init(); err != nil {
		log.Fatalf("failed to initialize termui: %v", err)
	}
	defer ui.Close()
	p := widgets.NewParagraph()
	p.Text = "Hello World!"
	p.SetRect(0, 0, 25, 5)
	ui.Render(p)
	for e := range ui.PollEvents() {
		if e.Type == ui.KeyboardEvent {
			break
		}
	}
}
Widgets
- BarChart
 - Canvas (for drawing braille dots)
 - Gauge
 - Image
 - List
 - Paragraph
 - PieChart
 - Plot (for scatterplots and linecharts)
 - Sparkline
 - StackedBarChart
 - Table
 - Tabs
 
Run an example with go run _examples/{example}.go or run each example consecutively with make run-examples.
Documentation
Uses
Related Works
License
Description
				
					Languages
				
				
								
								
									Go
								
								98.8%
							
						
							
								
								
									Python
								
								1.1%
							
						
					