A library for rendering command-line progress bars and spinners in Elixir applications.
ProgressBar is an Elixir library that provides customizable progress bars and spinners for command-line interfaces. It helps developers visualize task progress, downloads, or indeterminate operations directly in the terminal, enhancing user experience for CLI tools.
Elixir developers building command-line tools or scripts that require visual feedback for long-running tasks, such as data processing, file downloads, or batch operations.
Developers choose ProgressBar for its straightforward API and extensive customization options, including configurable colors, formats, and animations, allowing it to fit diverse CLI use cases without unnecessary complexity.
Command-line progress bars and spinners for Elixir.
Functions like ProgressBar.render/2 allow easy integration with minimal code, as demonstrated in the basic usage examples where passing current and total values renders a bar.
Supports custom formats, colors using IO.ANSI, and adjustable widths, enabling tailored progress indicators for any CLI aesthetic, as detailed in the 'Customize format' and 'Customize color' sections.
The bar automatically fits its width to the terminal size, with a fallback to 80 columns if undetectable, ensuring compatibility across different environments without manual configuration.
Offers determinate bars, indeterminate bars, and spinners with predefined styles like :braille, catering to various progress visualization needs, as shown in the examples for each type.
The README explicitly states the project is 'Not actively maintained' as of 2025-07-22, posing risks for bug fixes, compatibility updates, and long-term viability in production environments.
Designed primarily for STDOUT overwriting with carriage returns, making it unsuitable for environments where output is redirected or non-interactive, as it relies on terminal-specific behavior.
While intervals are configurable, the animation logic for spinners and indeterminate bars is simplistic, with fixed frame sequences that may not support advanced effects or dynamic adjustments beyond user-defined lists.
A TUI (terminal UI) kit for Elixir
A toolkit for writing command-line user interfaces.
Pretty-print tables of Elixir structs and maps.
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.