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 itemSee how people are using tqdm
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
ExcelJS
Parse, modify, and generate XLSX files in Node.js.
Go
Statically typed, compiled language by Google focused on simplicity, concurrency, and fast compilation.
Pino
Low-overhead streaming JSON logger for Node.js.
StatsD
UDP/TCP metrics collector with pluggable backend support.
Video Speed Controller
Chrome extension adding speed controls and keyboard shortcuts to HTML5 videos on any website.