Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. owl

owl

Apache-2.0Elixirv0.13.0

An Elixir toolkit for building interactive command-line interfaces with colored output, prompts, progress bars, and menus.

GitHubGitHub
520 stars14 forks0 contributors

What is owl?

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.

Target Audience

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.

Value Proposition

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.

Overview

A toolkit for writing command-line user interfaces.

Use Cases

Best For

  • Adding colored text and formatted tables to Elixir CLI tool output.
  • Creating interactive prompts with validation and type casting for user input in scripts.
  • Implementing progress bars and spinners for long-running tasks in command-line tools.
  • Building select or multi-select menus for configuration or package management interfaces.
  • Enhancing CLI tools with live-updating multi-line output blocks.
  • Running shell commands or daemons from Elixir with secure logging and secret masking.

Not Ideal For

  • Building full-screen terminal applications like system monitors or file managers that require complex UI layouts.
  • Projects needing advanced TUI features such as mouse interaction, nested windows, or real-time visual inspectors.
  • Teams working in multi-language environments where a CLI toolkit must integrate with non-Elixir codebases.

Pros & Cons

Pros

Easy Text Colorization

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.

Interactive Input Controls

Provides prompts with built-in validation and type casting to various data types, enhancing user interaction for scripts like configuration wizards.

Live Update Capabilities

Supports live updating of multi-line blocks and capturing stdio output above them, enabling real-time feedback for tasks like progress tracking.

Secure Shell Integration

Runs shell commands and daemons with secure logging and masked secrets, ensuring safe operation in CLI tools that execute external processes.

Cons

Limited to Elixir

Only available for Elixir projects, restricting use in environments with other programming languages or requiring cross-platform CLI toolkits.

No Full-Screen TUI Support

Intentionally avoids full-screen interfaces, making it unsuitable for applications needing complex terminal UI layouts or advanced visual elements.

Optional Dependencies Required

Full functionality, such as multibyte character support for emojis, depends on adding optional packages like ucwidth, adding setup complexity.

Frequently Asked Questions

Quick Stats

Stars520
Forks14
Contributors0
Open Issues0
Last commit3 months ago
CreatedSince 2021

Tags

#elixir#shell-integration#table#terminal#tty#tui#cli-toolkit#spinner#terminal-ui#cli#command-line#progress-bar#prompt#ansi-colors

Built With

E
Elixir

Included in

Elixir13.1k
Auto-fetched 1 day ago

Related Projects

ratatouilleratatouille

A TUI (terminal UI) kit for Elixir

Stars840
Forks41
Last commit3 years ago
progress_barprogress_bar

Command-line progress bars and spinners for Elixir.

Stars338
Forks21
Last commit10 months ago
scribescribe

Pretty-print tables of Elixir structs and maps.

Stars306
Forks12
Last commit3 months ago
table_rextable_rex

An Elixir app which generates text-based tables for display

Stars262
Forks27
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub