tqdm-joblib
Tracking progress of joblib.Parallel execution
What it is and what it does
tqdm_joblib wraps joblib.Parallel to display a live progress bar as parallel jobs execute. It originated as a StackOverflow snippet and packages that solution for reuse, offering two interfaces: a context manager (tqdm_joblib) and a decorator-style callable (ParallelPbar). The package depends only on tqdm for rendering and joblib for parallelization.
It solves a common workflow problem: when running many parallel tasks with joblib, you have no built-in way to see how many have completed. This package bridges that gap by hooking into joblib's callback system and feeding completion events to tqdm's progress bar. It is most useful in data processing, scientific computing, or batch job scenarios where visibility into long-running parallel work is valuable.
Use it for:
- Monitor progress of data preprocessing pipelines that use joblib.Parallel to process large datasets across multiple cores.
- Track completion of hyperparameter grid searches or other embarrassingly parallel scientific computations.
- Display real-time feedback in CLI tools that offload work to joblib without blocking the user's view of progress.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds a progress bar to joblib.Parallel execution using tqdm, displaying real-time completion status as parallel jobs run.
Yes, if you use joblib.Parallel and want simple progress visibility. Install friction is negligible and the dependency tree is minimal. However, the unclear license status (CC-BY-SA-4.0 is not a standard software license) and aging maintenance cycle (362 days since last release) warrant caution in commercial or mission-critical contexts. For research, prototyping, or internal tools, the trade-off is reasonable.
Install
tqdm-joblib on PyPI
pip
pip install tqdm-joblibuv
uv add tqdm-joblibpoetry
poetry add tqdm-joblibInstalling tqdm-joblib
Before you install
Low friction install with a single runtime dependency (tqdm). Maintenance is aging—last release was 362 days ago—but the repository remains active and the package supports current Python versions (3.10+).
License in practice
Licensed under CC-BY-SA-4.0, which is not a standard software license and its applicability to code distribution is unclear. Legal review may be warranted before using in commercial or proprietary projects.
Quickstart
pip install tqdm-joblib
from joblib import Parallel, delayed
from tqdm_joblib import tqdm_joblib
with tqdm_joblib(desc="Processing", total=10) as pbar:
Parallel(n_jobs=4)(delayed(lambda x: x**2)(i) for i in range(10))
Requires Python 3.10 or later.
Verify before relying
- Whether CC-BY-SA-4.0 is enforceable or recognized as a valid software license in your jurisdiction.
- Current maintenance status and whether the aging release cycle poses a risk for future Python version compatibility.
Package facts
| License | CC-BY-SA-4.0 (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — tqdm |
| Maintenance | aging — 362 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 169,267/month — #10,423 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tqdm_joblib-0.0.5-py3-none-any.whl
Tags
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
cloudpickleCloudpickle extends Python's standard pickle…
permissive · top 1,000 on PyPI
smart-openProvides a unified, open()-compatible Python…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
rayRay is a distributed computing framework that…
permissive · top 1,000 on PyPI
p-tqdmp_tqdm wraps pathos and tqdm to apply a…
permissive · top 15,000 on PyPI
pqdmpqdm wraps tqdm and concurrent.futures to…
permissive · top 15,000 on PyPI
parallelbarParallelbar wraps Python's multiprocessing Pool…
permissive · top 15,000 on PyPI
stqdmstqdm wraps tqdm progress bars for Streamlit…
permissive · top 15,000 on PyPI
tqdm-multiprocessDisplays multiple tqdm progress bars from…
permissive · top 15,000 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
tqdm-loggableConverts tqdm progress bars to logging-friendly…
permissive · top 5,000 on PyPI
acvl-utilsProvides utility functions for dynamic…
permissive · top 15,000 on PyPI
joblibsparkRegisters Apache Spark as a distributed backend…
permissive · top 15,000 on PyPI
rollbarSends exceptions, errors, and log messages to…
permissive · top 5,000 on PyPI