tqdm: Progress bar for Python loops and CLI
Instrument Python iterables with minimal-overhead progress tracking.
Learn more about tqdm
tqdm is a Python library that instruments loops and iterables with progress tracking output. It operates by wrapping standard Python iterables and updating a status line using carriage return control characters, requiring only Python and basic terminal support. The library implements smart algorithms to predict remaining time and skip redundant display updates, maintaining overhead around 60 nanoseconds per iteration. Common applications include monitoring long-running computations, tracking data processing pipelines, and providing CLI feedback for shell commands and batch operations.
Zero External Dependencies
Requires only Python and terminal support for carriage return characters, with no external libraries including curses. Enables deployment in constrained environments and simplifies installation across all platforms.
Minimal Iteration Overhead
Maintains approximately 60 nanoseconds per-iteration through optimized display skipping and predictive algorithms. Integrates into tight loops without measurable impact on execution time.
Multi-Context Compatibility
Operates across Linux, Windows, Mac, and BSD variants with specialized support for Jupyter notebooks, IPython, GUI applications, and shell pipes. The same API works consistently whether wrapping Python iterables or processing streamed data.
from tqdm import tqdm
import time
data = range(100)
for item in tqdm(data):
time.sleep(0.01)
# Process each itemPatch release fixing matplotlib syntax error in GUI mode; no breaking changes or new requirements.
- –Update code if using tqdm.gui to benefit from corrected matplotlib syntax that previously caused errors.
- –No action required for CLI or standard tqdm usage; changes affect only GUI progress bars and test infrastructure.
Replaces disco-py dependency with requests in contrib.discord module; may break code relying on disco-py objects or methods.
- –Update any contrib.discord integration code that depends on disco-py APIs, as it is now removed.
- –Verify requests library is installed if using tqdm.contrib.discord for Discord webhook progress reporting.
Maintenance release fixing CLI zip-safety for manpath/comppath flags and resolving deprecation warnings in test frameworks.
- –Update CLI invocations using --manpath or --comppath if packaging tqdm as a zip-safe distribution.
- –No action required for typical users; changes address internal test warnings and build tooling only.
See how people are using tqdm
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
moq
Mock .NET objects using lambda expressions and LINQ.
ohmyzsh
Community-driven zsh configuration framework with modular plugins.
plotly.py
Interactive browser-based charts from Python with declarative API.
statsd
UDP/TCP metrics collector with pluggable backend support.
ddt4all
Open-source Python application for vehicle diagnostics, ECU parameter modification, and CAN bus communication with Renault and Dacia cars.