A Go library for generating and displaying ASCII tables in the terminal with customizable styling and formatting.
Simpletable is a Go package for creating and displaying ASCII tables in terminal applications. It provides a declarative API for building structured tables with features like headers, footers, and multiline cells, making it useful for command-line tools that need to present data clearly.
Go developers building command-line interfaces (CLIs) or terminal-based applications that require formatted data presentation, such as system administrators, DevOps engineers, or tool creators.
Developers choose Simpletable for its declarative style offering precise control over table structure, fast rendering performance compared to similar libraries, and a variety of built-in table styles (e.g., MySQL-like, compact, markdown) with customization options.
Simple tables in terminal with Go
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers seven predefined table styles including MySQL-like and markdown, with customization demonstrated in the examples directory, allowing versatile terminal presentation.
Supports multiline cells and column spanning, similar to HTML tables, enabling complex data layouts as shown in the 04-multiline example.
Benchmarks in the repository show it outperforms similar libraries, making it efficient for rendering large datasets in command-line tools.
Provides fine-grained control over table structure with explicit definitions for headers, footers, and alignment, ensuring precise output tailored to specific needs.
The declarative style necessitates more code for table setup, which the README humorously acknowledges with 'have to write more code, and hell with it,' slowing down quick iterations.
Lacks built-in functionality for common table interactions like sorting or filtering, focusing solely on static display without user input handling.
Exclusively designed for ASCII terminal output with no support for other formats or environments, reducing its applicability in web or GUI contexts.