{"repo":"fuelen/owl","free":true,"listed":false,"github":"https://github.com/fuelen/owl","clone":"git clone https://github.com/fuelen/owl.git","description":"A toolkit for writing command-line user interfaces.","language":"Elixir","stars":526,"topics":["elixir","cli","tui","progress-bar","spinner","tty","prompt","table","terminal"],"license":"Apache-2.0","category":"cli-tools","readme_excerpt":"Owl Owl is a toolkit for writing command-line user interfaces in Elixir. It provides a convenient interface for: colorizing text using tags input controls with validation and casting to various data types select/multi-select controls, inspired by AUR package managers tables editing text in the ELIXIR EDITOR wrapping multi-line, colorized data into ASCII boxes printing palette colors progress bars and spinners, with support for multiple bars/spinners simultaneously live updating of multi-line blocks capturing :stdio output and printing it above LiveScreen blocks working with a virtual device that partially implements The Erlang I/O Protocol and does not conflict with live blocks. running shell commands and daemons with secure logging and masked secrets rendering hyperlinks (OSC 8) in supported terminals true-color (24‑bit) ANSI sequences word wrapping and truncation utilities for colorized multi-line text When to use Owl If you need a full-screen terminal application (think lazygit or htop), check out TermUI, Ratatouille, or ExNcurses. Keep in mind that full-screen TUI development is often harder than it looks — no DevTools, no visual inspector, limited layout primitives — so for complex interfaces a Phoenix LiveView might actually be easier to build and maintain. Owl serves a different niche. It enhances regular scripts and CLI tools with just enough interactivity: colored output, progress bars, input prompts, tables, and select menus. Your program still runs top-to-bottom, p","default_branch":null,"files":null,"tree":[],"storefront":"/r/fuelen","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/fuelen/owl/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}