awesome-repositories.comCategoriesBlog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
schollz avatar

schollz/progressbar

0
View on GitHub↗
4,678 stars·250 forks·Go·MIT·10 viewspkg.go.dev/github.com/schollz/progressbar/v3?tab=doc↗

Progressbar

This project is a thread-safe terminal progress bar and IO progress wrapper for Go applications. It provides a library for rendering updating progress indicators and activity spinners within a command-line interface to visualize task completion and data stream progress.

The library includes a stream-wrapping IO interceptor that automatically tracks and displays the volume of bytes processed during read or write operations. It also supports indeterminate activity spinners for processes where the total work volume is unknown.

Users can configure the visual appearance of the progress indicators through custom colors, themes, and descriptive text. The system handles the dynamic updating of task completion visualization as a process advances toward a defined limit.

Features

  • CLI Process Visualizations - Provides visual indicators specifically designed for command-line interfaces to represent task completion and background activity.
  • IO Progress Tracking - Wraps data streams to automatically detect and display the volume of bytes processed.
  • Byte Transfer Tracking - Monitors the number of bytes transferred during read and write operations to estimate completion progress.
  • IO Progress Wrappers - Provides a utility that wraps data streams to automatically track and display byte transfer progress.
  • Go Application Monitoring - Enables real-time tracking of internal process progress within Go applications.
  • Terminal Progress Indicators - Provides dynamic, overwritable terminal updates to visualize task completion and data stream progress.
  • IO Stream Wrappers - Wraps standard IO interfaces to automatically intercept and track bytes processed for progress updates.
  • Indeterminate Indicators - Implements indeterminate indicators via spinners to signal activity when the total work volume is unknown.
  • Task Progress Bars - Renders a terminal-based progress bar that updates dynamically to visualize task completion.
  • CLI Spinners - Provides character-based loading spinners for command-line interfaces when task duration is unknown.
  • Terminal Progress Libraries - A dedicated library for rendering updating progress indicators and activity spinners in Go CLI applications.
  • Mutexes and Locks - Employs mutual exclusion locks to ensure thread-safe updates of progress state across multiple goroutines.
  • ANSI Escape Sequence Renderers - Implements terminal output control using ANSI escape sequences to rewrite progress bars in place.
  • Progress Bar Styling - Allows customization of spinner, bar, and theme styles for terminal progress indicators.
  • Command Line Interfaces - Thread-safe terminal progress bar.
  • Command Line Tools - Terminal progress bar implementation.
  • Console Interfaces - Listed in the “Console Interfaces” section of the Awesome Go awesome list.
  • Console UI - Thread-safe progress bar management.
  • Terminal User Interfaces - Thread-safe progress bar for terminal applications.

Star history

Star history chart for schollz/progressbarStar history chart for schollz/progressbar

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Progressbar

Similar open-source projects, ranked by how many features they share with Progressbar.
  • cheggaaa/pbcheggaaa avatar

    cheggaaa/pb

    3,721View on GitHub↗

    pb is a Go progress bar library and terminal UI component used to track and display the completion status of long-running tasks. It functions as an IO progress tracker by wrapping reader and writer operations to automatically update visual indicators as data flows through a system. The library provides capabilities for rendering progress bars, completion percentages, and processing speeds within a console interface. It includes a system for customizing the visual layout, metadata templates, and color schemes of these status indicators. The project covers IO stream monitoring and terminal-bas

    Gogoprogress-barterminal
    View on GitHub↗3,721
  • pterm/ptermpterm avatar

    pterm/pterm

    5,470View on GitHub↗

    pterm is a Go terminal UI library used to build rich command-line interfaces. It provides toolsets for terminal data visualization, operation progress tracking, interactive user input, and structured logging. The library distinguishes itself through a comprehensive set of visual tools, including a framework for interactive terminal prompts such as selection menus and confirmation dialogs, and a specialized system for rendering bar charts, heatmaps, and tree structures. It also includes a structured terminal logger capable of producing leveled, colorful system messages. The project covers bro

    Goanimationansi-colorsbeautify
    View on GitHub↗5,470
  • c-bata/go-promptc-bata avatar

    c-bata/go-prompt

    5,481View on GitHub↗

    go-prompt is a library for building interactive command-line interfaces in Go. It serves as a cross-platform console UI framework and terminal input manager, providing the tools necessary to capture user input and execute commands through a persistent interactive loop. The library features a dedicated auto-completion engine that provides real-time command suggestions. It also supports dynamic prompt prefixes updated via callback functions and a system for managing and recalling command history. The framework covers a broad range of terminal capabilities, including keyboard shortcut mapping,

    Goclicommand-lineinteractive
    View on GitHub↗5,481
  • jroimartin/gocuijroimartin avatar

    jroimartin/gocui

    10,575View on GitHub↗

    gocui is a console user interface library for the Go programming language. It provides a toolkit for building interactive terminal applications using a layout engine that organizes overlapping rectangular views and coordinates. The library features a terminal input handler to capture and map keyboard shortcuts and mouse events to specific application actions. It includes an ANSI escape sequence parser to manage text attributes, colors, and cursor positioning. The framework covers interface view management and overlapping window layering, allowing for a structured arrangement of content. Rend

    Gocuigogocui
    View on GitHub↗10,575
See all 30 alternatives to Progressbar→

Frequently asked questions

What does schollz/progressbar do?

This project is a thread-safe terminal progress bar and IO progress wrapper for Go applications. It provides a library for rendering updating progress indicators and activity spinners within a command-line interface to visualize task completion and data stream progress.

What are the main features of schollz/progressbar?

The main features of schollz/progressbar are: CLI Process Visualizations, IO Progress Tracking, Byte Transfer Tracking, IO Progress Wrappers, Go Application Monitoring, Terminal Progress Indicators, IO Stream Wrappers, Indeterminate Indicators.

What are some open-source alternatives to schollz/progressbar?

Open-source alternatives to schollz/progressbar include: cheggaaa/pb — pb is a Go progress bar library and terminal UI component used to track and display the completion status of… pterm/pterm — pterm is a Go terminal UI library used to build rich command-line interfaces. It provides toolsets for terminal data… jroimartin/gocui — gocui is a console user interface library for the Go programming language. It provides a toolkit for building… c-bata/go-prompt — go-prompt is a library for building interactive command-line interfaces in Go. It serves as a cross-platform console… gizak/termui — Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a… gookit/color — 🎨 Terminal color rendering library, support 8/16 colors, 256 colors, RGB color rendering output, support…