View Source Owl

CI Status Coverage Status

  /)  )

Owl is a toolkit for writing command-line user interfaces in Elixir.

It provides a convenient interface for

  • colorizing text using tags
  • input control with validations and casting to various data types
  • select/multiselect controls, inspired by AUR package managers
  • editing text in ELIXIR_EDITOR
  • wrapping multiline colorized data into ASCII boxes
  • printing palette colors
  • progress bars and spinners, multiple bars/spinners at the same time are supported as well
  • live-updating of multiline blocks
  • working with virtual device which partially implements The Erlang I/O Protocol and doesn't conflict with live blocks.




The code can be found in examples directory.



The package can be installed by adding owl to your list of dependencies in mix.exs:

def deps do
    {:owl, "~> 0.4"}

Documentation can be found at