A modern Go module for beautifying console output with charts, progress bars, tables, trees, and interactive components.
PTerm is a Go module that enables developers to create visually appealing command-line interfaces. It solves the problem of dull terminal output by providing a rich set of components like charts, progress bars, and interactive menus, making CLIs more engaging and informative.
Go developers building command-line tools, utilities, or applications who want to enhance user experience with beautiful and interactive terminal interfaces.
Developers choose PTerm for its comprehensive component library, ease of use, and cross-platform compatibility. It offers a modern alternative to basic terminal printing, with extensive customization and truecolor support for vibrant outputs.
✨ 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.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes over 20 ready-to-use printers such as charts, progress bars, interactive menus, and tables, demonstrated in the extensive examples directory with source code for each component.
Designed to work consistently on Windows CMD, macOS iTerm2, Linux terminals, and CI systems like GitHub Actions, as highlighted in the features table and platform badges.
Components are fully configurable with padding, colors, styles, and themes, shown in demos like customizable boxes, headers, and gradient color effects.
Utilizes ANSI colors and RGB for vibrant, consistent terminal output, with examples demonstrating gradient fading and custom color schemes for advanced terminals.
Boasts over 28,000 automated tests and high code coverage, ensuring reliability and stability for production use, as indicated by the test count badges.
As a Go module, it can only be used within Go projects, limiting its utility in polyglot environments or for developers not using Go.
For basic terminal printing or logging, the framework's rich components may introduce unnecessary bloat compared to lightweight alternatives like standard Go 'fmt' or 'log' packages.
Advanced features like TrueColor, interactive elements, or live updates may fail or degrade on terminals with limited support, reducing portability in some edge cases.
While easy to use out-of-the-box, deep customization or combining multiple printers requires understanding the configuration system and API, which can be complex for newcomers.