tabby alternatives and similar packages
Based on the "Advanced Console UIs" category.
Alternatively, view tabby alternatives based on common mentions on social networks and blogs.
-
Rich Interactive Widgets for Terminal UIs
Terminal UI library with rich, interactive widgets — written in Golang -
tcell
Tcell is an alternate terminal package, similar in some ways to termbox, but better in others. -
pterm
✨ #PTerm is a modern Go module to easily beautify console output. Featuring charts, progressbars, tables, trees, text input, select menus and much more 🚀 It's completely configurable and 100% cross-platform compatible. -
asciigraph
Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies. -
termtables
DISCONTINUED. A Go port of the Ruby library terminal-tables for simple ASCII table generation as well as providing markdown and HTML output -
yacspin
Yet Another CLi Spinner; providing over 80 easy to use and customizable terminal spinners for multiple OSes -
chalk
Intuitive package for prettifying terminal/console output. http://godoc.org/github.com/ttacon/chalk -
GCli
🖥 Go CLI application, tool library, running CLI commands, support console color, user interaction, progress display, data formatting display, generate bash/zsh completion add more features. Go的命令行应用,工具库,运行CLI命令,支持命令行色彩,用户交互,进度显示,数据格式化显示,生成bash/zsh命令补全脚本 -
ctc
Console Text Colors - The non-invasive cross-platform terminal color library does not need to modify the Print method -
crab-config-files-templating
Dynamic configuration file templating tool for kubernetes manifest or general configuration files
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of tabby or a related project?
Popular Comparisons
README
Tabby
A tiny library for super simple Golang tables
Get Tabby
go get github.com/cheynewallace/tabby
Import Tabby
import "github.com/cheynewallace/tabby"
Tabby is a tiny (around 70 lines of code) efficient libary for writing extremely simple table based terminal output in Golang.
Many table libraries out there are overly complicated and packed with features you don't need. If you simply want to write clean output to your terminal in table format with minimal effort, Tabby is for you.
Typical examples
- Writing simple tables with heading and tab spaced columns
- Writing log lines to the terminal with evenly spaced columns
Example With Heading
t := tabby.New()
t.AddHeader("NAME", "TITLE", "DEPARTMENT")
t.AddLine("John Smith", "Developer", "Engineering")
t.Print()
Output
NAME TITLE DEPARTMENT
---- ----- ----------
John Smith Developer Engineering
Example Without Heading
t := tabby.New()
t.AddLine("Info:", "WEB", "Success 200")
t.AddLine("Info:", "API", "Success 201")
t.AddLine("Error:", "DATABASE", "Connection Established")
t.Print()
Output
Info: WEB Success 200
Info: API Success 201
Error: DATABASE Connection Established
Example With Custom tabWriter
w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0)
t := tabby.NewCustom(w)
Full Example
- Default writer (os.Stdout) example:
package main
import "github.com/cheynewallace/tabby"
func main() {
t := tabby.New()
t.AddHeader("NAME", "TITLE", "DEPARTMENT")
t.AddLine("John Smith", "Developer", "Engineering")
t.Print()
}
- File writer example:
package main
import (
"os"
"text/tabwriter"
"github.com/cheynewallace/tabby"
)
func main() {
fd, _ := os.OpenFile("test.txt", os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0644)
defer fd.Close()
w := tabwriter.NewWriter(fd, 0, 0, 4, ' ', 0)
t := tabby.NewCustom(w)
t.AddHeader("NAME", "TITLE", "DEPARTMENT")
t.AddLine("John Smith", "Developer", "Engineering")
t.Print()
}