table alternatives and similar packages
Based on the "Advanced Console UIs" category.
Alternatively, view table 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 -
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命令补全脚本 -
yacspin
Yet Another CLi Spinner; providing over 80 easy to use and customizable terminal spinners for multiple OSes -
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
CodeRabbit: AI Code Reviews for Developers

Do you think we are missing an alternative of table or a related project?
Popular Comparisons
README
Table
Print out tabular data on the command line using the ansi color esacape codes. Support for writing the ouput based on the fields in a struct and for defining and creating the table manully using the underlying object.
Support for colors on windows can be don using mattn/go-colorable to make a io.Writer
that will work.
Usage
For creating a table yourself using the struct.
tab := table.Table{
Headers: []string{"something", "another"},
Rows: [][]string{
{"1", "2"},
{"3", "4"},
{"3", "a longer piece of text that should stretch"},
{"but this one is longer", "shorter now"},
},
}
err := tab.WriteTable(w, nil) // w is any io.Writer
[simple example](_examples/simple.png)
With a struct slice
data := []struct {
Name string `table:"THE NAME"`
Location string `table:"THE LOCATION"`
}{
{"name", "l"},
{"namgfcxe", "asfdad"},
{"namr3e", "l134151dsa"},
{"namear", "lasd2135"},
}
err := table.MarshalTo(w, data, nil) // writes to any w = io.Writer
buf, err := table.Marshal(data, nil) // also supports return the bytes
[reflection](_examples/reflection.png)
The nil parameter is the configuration for the table, this can be set manually, but if its left as nil the deafult config settings will be used.
type Config struct {
ShowIndex bool // shows the index/row number as the first column
Color bool // use the color codes in the output
AlternateColors bool // alternate the colors when writing
TitleColorCode string // the ansi code for the title row
AltColorCodes []string // the ansi codes to alternate between
}
Installation
Go makes this part easy.
$ go get github.com/mattn/go-colorable
License
MIT
Author
Tom Lazar
*Note that all licence references and agreements mentioned in the table README section above
are relevant to that project's source code only.