skillfed

progressbar2

A Python Progressbar library to provide visual (yet text based) progress to long running operations.

progressbar2 v4.6.0 19.3M downloads/30d#1,069 on PyPI879
Permissive license BSD-3-Clause Active released

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 on this page — 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

progressbar2 on PyPI

pip

pip install progressbar2

uv

uv add progressbar2

poetry

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 the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 1 — python-utils
Maintenance actively maintained — 0 days since the last release
Last repo commit
First released
Downloads 19,344,398/month — #1,069 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: progressbar2-4.6.0-py3-none-any.whl

Keywords: REPL, animated, bar, color, console, duration, efficient, elapsed, eta, feedback, live, meter, monitor, monitoring, multi-threaded, progress, progress-bar, progressbar, progressmeter, python, rate, simple, speed, spinner, stats, terminal, throughput, time, visual

Development Status :: 5 - Production/StableDevelopment Status :: 6 - MatureEnvironment :: ConsoleEnvironment :: MacOS XEnvironment :: Other EnvironmentEnvironment :: Win32 (MS Windows)Environment :: X11 ApplicationsFramework :: IPythonFramework :: JupyterIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: End Users/DesktopIntended Audience :: Other AudienceIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: MacOSOperating System :: MacOS :: MacOS XOperating System :: MicrosoftOperating System :: Microsoft :: MS-DOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: POSIX :: BSDOperating System :: POSIX :: BSD :: FreeBSDOperating System :: POSIX :: LinuxOperating System :: POSIX :: SunOS/SolarisOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: ImplementationProgramming Language :: Python :: Implementation :: IronPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: Unix ShellTopic :: Desktop EnvironmentTopic :: Education :: Computer Aided Instruction (CAI)Topic :: Education :: TestingTopic :: Office/BusinessTopic :: Other/Nonlisted TopicTopic :: Software Development :: Build ToolsTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: Pre-processorsTopic :: Software Development :: User InterfacesTopic :: System :: Installation/SetupTopic :: System :: LoggingTopic :: System :: MonitoringTopic :: System :: ShellsTopic :: TerminalsTopic :: UtilitiesTyping :: Typed

Tags

terminal progress bartext progress indicatorconcurrent progress trackingcli progress displayprogress bar with loggingunknown length progressmulti-threaded progress barterminal spinner
cli-feedbackterminal-ui

More Libraries packages