Awesome Go

uilive

CategoryCommand Line
SubcategoryAdvanced Console UIs
Stars1,721

Library for updating terminal output in real time

About uilive

uilive GoDoc Build Status

uilive is a go library for updating terminal output in realtime. It provides a buffered io.Writer that is flushed at a timed interval. uilive powers uiprogress.

Usage Example

Calling uilive.New() will create a new writer. To start rendering, simply call writer.Start() and update the ui by writing to the writer. Full source for the below example is in example/main.go.

writer := uilive.New()
// start listening for updates and render
writer.Start()

for i := 0; i <= 100; i++ {
  fmt.Fprintf(writer, "Downloading.. (%d/%d) GB\n", i, 100)
  time.Sleep(time.Millisecond * 5)
}

fmt.Fprintln(writer, "Finished: Downloaded 100GB")
writer.Stop() // flush and stop rendering

The above will render

example

Installation

$ go get -v github.com/gosuri/uilive

Frequently Asked Questions

What is uilive?

uilive is a Command Line library for the Go programming language. Library for updating terminal output in real time

How many GitHub stars does uilive have?

uilive has 1,721 GitHub stars in the directory's latest synchronization.

How do I install uilive?

Install uilive with the Go module system using `go get gosuri/uilive`. Check the repository for the current installation instructions.

What category does uilive belong to?

uilive is listed under Command Line, specifically Advanced Console UIs.

← Back to Advanced Console UIs