tqdm
Fast, Extensible Progress Meter
Install
tqdm on PyPI
pip
pip install tqdmuv
uv add tqdmpoetry
poetry add tqdmPackage facts
| License | MPL-2.0 AND MIT (copyleft) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — colorama |
| Maintenance | actively maintained — 17 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the 100 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: tqdm-4.70.0-py3-none-any.whl
Keywords: progressbar, progressmeter, progress, bar, meter, rate, eta, console, terminal, time
About tqdm
from the package's own PyPI description — quoted content, verbatim
|Logo|
tqdm
|Py-Versions| |Versions| |Conda-Forge-Status| |Docker| |Snapcraft|
|Build-Status| |Coverage-Status| |Branch-Coverage-Status| |Codacy-Grade| |Libraries-Rank| |PyPI-Downloads|
|LICENCE| |OpenHub-Status| |colab-demo| |binder-demo| |awesome-python|
tqdm derives from the Arabic word taqaddum (تقدّم) which can mean "progress,"
and is an abbreviation for "I love you so much" in Spanish (te quiero demasiado).
Instantly make your loops show a smart progress meter - just wrap any
iterable with tqdm(iterable), and you're done!
.. code:: python
from tqdm import tqdm
for i in tqdm(range(10000)):
...
76%|████████████████████████ | 7568/10000 [00:33<00:10, 229.00it/s]
trange(N) can also be used as a convenient shortcut for
tqdm(range(N)).
|Screenshot| |Video| |Slides| |Merch|
It can also be executed as a module with pipes:
.. code:: sh
$ seq 9999999 | tqdm --bytes | wc -l
75.2MB [00:00, 217MB/s]
9999999
$ tar -zcf - docs/ | tqdm --bytes --total `du -sb docs/ | cut -f1` \
> backup.tgz
32%|██████████▍ | 8.89G/27.9G [00:42<01:31, 223MB/s]
Overhead is low -- about...
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
tqdm wraps any iterable to display a live progress bar with ETA and throughput metrics, with minimal overhead and only colorama as a runtime dependency.
Installation is straightforward with low friction—a pure Python wheel with only colorama as a runtime dependency. The project is actively maintained with a recent release 17 days ago and strong community adoption (31278 GitHub stars), indicating reliable ongoing support.
Dual-licensed under MPL-2.0 and MIT with copyleft treatment. MPL-2.0 requires source disclosure for modifications to tqdm itself but does not impose copyleft obligations on code that merely uses the library, making it permissive for most applications.
Usage
pip install tqdm
from tqdm import tqdm
for i in tqdm(range(100)):
pass # your work here
Verdict: tqdm is a mature, widely-adopted progress-bar library with active maintenance, zero known vulnerabilities, and minimal install friction. The dual MPL-2.0/MIT license is permissive for end users. Recommended for any project needing loop progress visualization.
Needs verification
- Whether colorama is truly required at runtime or only for optional colored output on Windows
- Performance overhead claim of 60ns per iteration under typical workloads
Similar packages
permissive · top 100 on PyPI
backports.zstdpermissive · top 1,000 on PyPI
ipywidgetspermissive · top 1,000 on PyPI
croniterpermissive · top 1,000 on PyPI
limitspermissive · top 1,000 on PyPI
nest-asynciopermissive · top 1,000 on PyPI
ipythonpermissive · top 1,000 on PyPI
pytzpermissive · top 100 on PyPI
richpermissive · top 100 on PyPI
more-itertoolspermissive · top 1,000 on PyPI