Repolode
mum4k

mum4k/termdash

A cross-platform Go library for building customizable, resizable dashboards and interactive widgets in the terminal.

Stars
3,044
Forks
150
Open issues
49
Last commit
last month

What is it?

Termdash is a Go library for building terminal dashboards. It lays out widgets in a binary tree or grid, handles terminal window resizing, and redraws the screen periodically or in response to events. Developers can place widgets with custom borders, margins, padding and colors, and change the layout at runtime.

The library ships with a broad widget set covering charts (line, bar, pie, donut, sparkline, heat map), progress and status displays (gauge, text, timeline, segment display), and input controls (button, text input, checkbox, dropdown, radio, slider, tab, modal). Keyboard and mouse events are processed, and containers and widgets can receive focus.

The project is positioned as a readable, testable codebase. Public APIs may still change before version 1.0.0, and the project lists its breaking changes in a changelog.

Key features

  • 01Binary tree and grid layouts with full terminal resize support.
  • 02Dynamic layout changes at runtime, including focusable containers and widgets.
  • 03Keyboard and mouse event handling.
  • 04Wide widget library covering charts, progress displays and input controls.
  • 05UTF-8 text support and drawing primitives for custom widget development.

Use cases

  • Building live monitoring dashboards for servers, metrics or system resources in a terminal.
  • Creating interactive terminal tools with forms, tabs and modal dialogs in Go.
  • Visualizing streaming data such as logs, load test results or blockchain activity in the terminal.

Quick start

  1. 1

    Install the library with go get

    go get -u github.com/mum4k/termdash
  2. 2

    Run the demo application from the repository

    go run termdashdemo/termdashdemo.go

Things to know

  • Termdash is a Go library, so it is only useful to developers building Go terminal applications.
  • The README says breaking changes to the public API are still possible until version 1.0.0.

Topics

FAQ

What is termdash?
A cross-platform Go library for building customizable, resizable dashboards and interactive widgets in the terminal. Termdash is a Go library for building terminal dashboards. It lays out widgets in a binary tree or grid, handles terminal window resizing, and redraws the screen periodically or in response to events. Developers can place widgets with custom borders, margins, padding and colors, and change the layout at runtime.
Is termdash free to use? What license does it have?
termdash is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is termdash still maintained?
Updated within 6 months. The last commit to termdash was on Sep 14, 2026.
What can I use termdash for?
Building live monitoring dashboards for servers, metrics or system resources in a terminal. Creating interactive terminal tools with forms, tabs and modal dialogs in Go. Visualizing streaming data such as logs, load test results or blockchain activity in the terminal.
How do I install termdash?
Install the library with go get: go get -u github.com/mum4k/termdash Run the demo application from the repository: go run termdashdemo/termdashdemo.go
Where can I get termdash?
The source code and installation instructions are on GitHub: https://github.com/mum4k/termdash

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects