schollz/progressbar

A really basic thread-safe progress bar for Golang applications

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 hour ago
Added to GitGenius on September 14th, 2026
Created on October 26th, 2017
Open Issues & Pull Requests: 15 (+0)
GitHub issues: Enabled
Number of forks: 258
Total Stargazers: 4,703 (+0)
Total Subscribers: 26 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 45.5 hours
Mean response time: 174.1 days
90th percentile: 598.0 days
Tracked items: 35

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 4
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 242 days
Stale 30+ days: 2
Stale 90+ days: 2

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (1)
  • good first issue (1)
  • hacktoberfest (1)
  • question (1)
  • wontfix (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

progressbar is a thread-safe progress bar library for Go applications.

The tool solves the problem of displaying progress in command-line applications across different operating systems without compatibility issues. It works by providing a simple progress bar implementation that the author created after encountering problems with existing solutions. The library implements the io.Writer interface, allowing it to automatically detect bytes written to a stream and work seamlessly with io.Reader operations for tasks like file downloads or data transfers.

Developers should choose this tool if they need a lightweight, cross-platform progress indicator for Go CLI applications. It suits projects ranging from basic progress tracking to more complex scenarios involving I/O operations. The library handles three main use cases: standard progress bars with known length, automatic byte counting for I/O operations, and spinners for operations with unknown length. Customization options include adjustable writer, color, width, description, and theme settings. The tool is designed to be OS agnostic and does not support multi-line outputs.

The project maintains an open approach to contributions, explicitly welcoming pull requests for documentation revisions, new features, bug fixes, and improvement suggestions. Development has involved sustained collaboration across multiple contributors who have driven significant improvements and feature additions throughout the project's evolution.