--- id: progressbar2 version: "4.6.0" license: BSD-3-Clause license_treatment: permissive maintenance: active --- # progressbar2 — A Python Progressbar library to provide visual (yet text based) progress to long running operations. License: permissive · Maintenance: active · Downloads: 19.3M/mo ## What it is and what it does progressbar2 is a terminal progress bar library that renders visual feedback for long-running operations in the console. It wraps iterables or manual updates to display a text-based bar with customizable widgets, elapsed time, ETA, and throughput metrics. The library handles multiple concurrent bars, unknown-length progress (for operations where the total is not known in advance), and integrates cleanly with logging and print statements by redirecting stdout to prevent corruption of the bar display. The package is a maintained fork of the original progressbar library and remains backwards compatible with it. It supports modern Python versions (3.10+), works across Windows, macOS, and Linux, and provides both a programmatic API for embedding in scripts and a command-line interface for piping data through progress tracking. It is typed and actively maintained with no known security vulnerabilities. Use it for: - Display progress for batch processing tasks, file uploads/downloads, or data transformations where you want visual feedback in the terminal. - Track multiple concurrent operations (e.g., parallel builds or tests) with separate named progress bars in a single terminal window. - Handle long-running operations with unknown total duration by using UnknownLength mode to show a spinner or activity indicator. - Integrate progress tracking into CLI tools or scripts that also emit logs, keeping the progress bar clean and readable above log output. - Monitor throughput and ETA in data pipelines or network operations by displaying rate, elapsed time, and estimated completion. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. progressbar2 renders text-based progress bars in the terminal, handling custom widgets, concurrent bars, unknown-length progress, and clean output around logs and prints. Yes. progressbar2 is a stable, actively maintained library with low install friction, no security vulnerabilities, and a permissive license. It solves a common problem (terminal progress feedback) cleanly and is suitable for scripts, CLI tools, and applications across all major platforms. Install if you need text-based progress bars in the terminal. ## Install pip install progressbar2 uv add progressbar2 poetry add progressbar2 ## Installing progressbar2 Before you install: Low install friction with a single runtime dependency (python-utils). Actively maintained with a recent release and 879 repository stars. Supports current Python versions from 3.10 onward. License in practice: BSD-3-Clause is a permissive license allowing commercial use, modification, and distribution with minimal restrictions—suitable for most projects. Quickstart: pip install progressbar2 import time for item in progressbar2.progressbar(range(100), desc='Loading'): time.sleep(0.02) Requires Python 3.10 or later. Terminal progress bars do not work in IDLE or without terminal support in some IDEs like JetBrains (unless 'Enable terminal in output console' is configured). Verify before relying: - Whether the package's multi-threaded progress bar support is thread-safe across all documented use cases. - Performance characteristics when managing many concurrent bars or very high update frequencies. ## Package facts - License: BSD-3-Clause (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 19.3M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags terminal progress bar, text progress indicator, concurrent progress tracking, cli progress display, progress bar with logging, unknown length progress, multi-threaded progress bar, terminal spinner, cli-feedback, terminal-ui [View on SkillFed](https://skillfed.io/packages/progressbar2) · [View on PyPI](https://pypi.org/project/progressbar2/)