progressbar
A really basic thread-safe progress bar for Golang applications
...In order to be OS agnostic I do not plan to support multi-line outputs. The progressbar implements an io.Writer, so it can automatically detect the number of bytes written to a stream, so you can use it as a progress bar for an io. Reader. A progress bar with an unknown length is a spinner. Any bar with -1 length will automatically convert it to a spinner with a customizable spinner type. For example, the above code can be run and set the resp.ContentLength to -1. There is a lot of customization that you can do - change the writer, the color, the width, the description, the theme, etc.