An Elixir toolkit for building interactive command-line interfaces with colored output, prompts, progress bars, and menus.
Owl is a toolkit for writing command-line user interfaces in Elixir. It enhances traditional CLI scripts and tools with interactive elements like colored output, progress bars, input prompts, tables, and select menus, making command-line output more informative and user-friendly without requiring a full-screen TUI.
Elixir developers building command-line scripts, tools, or utilities that benefit from enhanced interactivity and user-friendly output, such as installation wizards, configuration tools, or data reporting scripts.
Developers choose Owl over full-screen TUI libraries because it focuses on adding just enough interactivity to standard top-to-bottom scripts, avoiding the complexity of full-screen applications while providing a rich set of features like live updates, shell integration, and secure logging.
A toolkit for writing command-line user interfaces.
Uses simple tags to apply colors without manual ANSI sequences, making output visually appealing with minimal code, as shown in the demo and features list.
Provides prompts with built-in validation and type casting to various data types, enhancing user interaction for scripts like configuration wizards.
Supports live updating of multi-line blocks and capturing stdio output above them, enabling real-time feedback for tasks like progress tracking.
Runs shell commands and daemons with secure logging and masked secrets, ensuring safe operation in CLI tools that execute external processes.
Only available for Elixir projects, restricting use in environments with other programming languages or requiring cross-platform CLI toolkits.
Intentionally avoids full-screen interfaces, making it unsuitable for applications needing complex terminal UI layouts or advanced visual elements.
Full functionality, such as multibyte character support for emojis, depends on adding optional packages like ucwidth, adding setup complexity.
A TUI (terminal UI) kit for Elixir
Command-line progress bars and spinners for Elixir.
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.