A Rust library for building beautiful terminal tables with automatic content wrapping and extensive styling options.
Comfy-table is a Rust library for creating formatted tables in terminal applications. It solves the problem of displaying structured data in a console with automatic wrapping, customizable styling, and cross-platform support, making it easy to generate professional-looking tables programmatically.
Rust developers building command-line interfaces (CLIs), terminal-based tools, or any application that requires formatted text output in a console environment.
Developers choose Comfy-table for its balance of simplicity and powerful features, including dynamic content arrangement, extensive styling options, and high performance without unsafe code, all while maintaining a minimalistic API.
:large_orange_diamond: Build beautiful terminal tables with automatic content wrapping
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically adjusts table layout to fit specified or terminal width, with terminal detection when no width is set, as shown in examples using ContentArrangement::Dynamic.
Supports ANSI colors, attributes like bold and blinking, and customizable borders, demonstrated with preset styles and modifiers in the README examples.
Optimized for speed, with benchmarks cited in the README showing table generation in microseconds, such as a complex table built in ~470μs.
Works consistently on Linux, macOS, and Windows, and avoids unsafe code in its own codebase for enhanced safety and portability.
The project is considered 'finished' and in a feature freeze, with no new enhancements planned, which limits adaptability to future use cases.
Enabling the custom_styling feature can slow down table generation by 30-50%, as noted in the feature flags section, impacting performance-sensitive applications.
Using the reexport_crossterm feature ties your project to specific crossterm versions, potentially causing breaking changes and compatibility issues, as warned in the README.