An Elixir library for generating customizable text-based tables with support for styling, sorting, and ANSI colors.
TableRex is an Elixir library that generates text-based tables for display in terminals or plain-text outputs. It provides a flexible API to create ASCII-style tables with extensive customization, solving the need for formatted data presentation in CLI applications, logging, and reporting. The library emphasizes simplicity with sane defaults while allowing deep customization for complex layouts.
Elixir developers building command-line interfaces (CLIs), data reporting tools, or logging systems that require formatted text output. It is also suitable for those needing to display tabular data in terminals with support for Unicode, CJK characters, and ANSI colors.
Developers choose TableRex for its balance of ease-of-use with one-liner functions and powerful customization options like column alignment, sorting, multi-line cells, and custom renderers. Its unique selling point is the extensive styling control, including GitHub Flavored Markdown support and conditional coloring, without sacrificing performance or stability in Elixir ecosystems.
An Elixir app which generates text-based tables for display
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports column and cell-level alignment, padding, sorting, and extensive styling with symbols and colors, as shown in examples with custom separators and ANSI sequences.
Handles international characters within cells seamlessly, making it suitable for global applications without encoding issues, as highlighted in the features.
Provides one-liner functions like TableRex.quick_render! for instant table generation with sensible defaults, ideal for rapid prototyping.
Post v1 with semver compliance ensures no breaking changes without major version increments, and comprehensive API docs are available on HexDocs.
Limited to generating ASCII-style tables for terminals or plain text, lacking built-in support for other output formats like HTML or rich markdown beyond GFM styling.
Creating custom renderers requires implementing the TableRex.Renderer behavior, which can be overkill for simple needs and adds a learning curve for developers.
Tightly integrated with Elixir and OTP, so it's not portable to other programming languages or frameworks, limiting its use in heterogeneous environments.