git404hub

what is progressbar fr?

schollz/progressbar — explained in plain English

Analysis updated 2026-06-26

4,671GoAudience · developerComplexity · 2/5LicenseSetup · easy

tl;dr

A small Go library that adds a thread-safe progress bar or spinner to command-line programs, working on Windows, macOS, and Linux with no special dependencies.

vibe map

mindmap
  root((progressbar))
    What it does
      Terminal progress bar
      Spinner for unknown size
      Stream attachment
      In-place rendering
    Tech Stack
      Go library
      Thread-safe
      Cross-platform
    Use Cases
      File downloads
      CLI tools
      Batch processing
    Audience
      Go developers
      CLI builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Add a progress bar to a Go CLI tool that processes files one by one.

VIBE 2

Show real-time download progress when fetching files in a Go program.

VIBE 3

Display a spinner when running a task of unknown total length in the terminal.

what's the stack?

Go

how it stacks up fr

schollz/progressbargliderlabs/registratordeckarep/golang-set
Stars4,6714,6754,679
LanguageGoGoGo
Setup difficultyeasymoderateeasy
Complexity2/53/52/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · easy time til it works · 5min
Use freely for any purpose including commercial projects, as long as you keep the MIT copyright notice.

in plain english

This is a small Go library that adds a progress bar to command-line programs. It was written because the author needed one for another project called croc and found that existing options had compatibility problems across operating systems. The result is a minimal, thread-safe bar that works on Windows, macOS, and Linux without special dependencies. The simplest use case is just telling the bar how many total steps there are, then calling a method to advance it by one each time a step completes. The bar renders in the terminal and updates in place as work progresses. For file downloads or any other situation where data moves through a stream, the library can attach directly to that stream and update the bar automatically as bytes flow through, so you do not need to count anything manually. When the total size of a task is unknown ahead of time (for example, a download where the server does not report a file size), the bar switches automatically into a spinner mode. Spinners animate to show that work is happening without claiming to track how close to done the task is. The library offers several customization options: you can change the color of the bar, its width, the characters used to draw the filled and unfilled portions, and a text label that appears alongside it. A separate options list in the Go documentation covers everything available. The project is licensed under MIT, meaning it is free to use and modify in any project. It has received contributions from several external developers over three major versions, with version 3 being the current one.

prompts (copy fr)

prompt 1
Using schollz/progressbar, write a Go program that downloads a file from a URL and shows a live progress bar in the terminal.
prompt 2
How do I add a custom-colored progress bar with a text label to my Go CLI tool using schollz/progressbar?
prompt 3
I'm writing a Go program that processes files but doesn't know the total count upfront. How do I use schollz/progressbar to show a spinner instead?
prompt 4
Show me how to attach schollz/progressbar to an io.Reader so it auto-updates as bytes stream through without manual counting.

Frequently asked questions

what is progressbar fr?

A small Go library that adds a thread-safe progress bar or spinner to command-line programs, working on Windows, macOS, and Linux with no special dependencies.

What language is progressbar written in?

Mainly Go. The stack also includes Go.

What license does progressbar use?

Use freely for any purpose including commercial projects, as long as you keep the MIT copyright notice.

How hard is progressbar to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is progressbar for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.