p-tqdm
Parallel processing with progress bars
What it is and what it does
p_tqdm is a thin wrapper combining pathos.multiprocessing and tqdm to make parallel processing more convenient. It provides functions like p_map, p_imap, p_umap, and p_uimap that apply a function across multiple iterables in parallel, while displaying a live progress bar with completion estimates. Unlike Python's built-in multiprocessing, pathos supports lambda functions, nested functions, and class methods, which p_tqdm exposes with minimal syntax overhead.
The package is designed for CPU-bound workloads where you want to parallelize a map operation without wrestling with multiprocessing pool setup. It supports controlling CPU count (as an integer or proportion), custom tqdm flavors, and both ordered and unordered result collection. Sequential variants (t_map, t_imap) are also provided for cases where you want the same interface without parallelism.
Use it for:
- Batch-process large datasets with a function while monitoring progress in real time
- Apply an expensive computation across multiple inputs using all available CPU cores
- Replace a slow for-loop with parallel execution while keeping code readable and adding progress visibility
- Parallelize functions with multiple arguments or complex signatures that standard multiprocessing struggles with
- Collect results in order (p_map) or accept any order (p_umap) depending on whether result sequence matters
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
p_tqdm wraps pathos and tqdm to apply a function in parallel across multiple inputs while displaying a live progress bar with time estimates.
Yes, if you need parallel map with a progress bar and can tolerate the high install friction (three dependencies) and dormant maintenance. The package is stable and has no known vulnerabilities, but expect no active bug fixes or new features. Best suited for one-off scripts or internal tools where the convenience of p_map outweighs the dependency cost; for production systems, consider whether direct pathos + tqdm usage or a more actively maintained alternative is preferable.
Install
p-tqdm on PyPI
pip
pip install p-tqdmuv
uv add p-tqdmpoetry
poetry add p-tqdmInstalling p-tqdm
Before you install
High install friction due to three runtime dependencies (tqdm, pathos, six). Maintenance is dormant—last release was 2024-08-08 but no commits since then; the repository remains active with 493 stars but receives infrequent updates.
License in practice
MIT license is permissive and imposes no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
pip install p_tqdm
from p_tqdm import p_map
def add(a, b):
return a + b
result = p_map(add, ['1', '2', '3'], ['a', 'b', 'c'])
print(result) # ['1a', '2b', '3c']
Verify before relying
- Whether pathos dependency works reliably on all platforms (Windows, macOS, Linux) where p_tqdm is deployed
- Performance overhead of the wrapper compared to direct pathos.multiprocessing calls
- Compatibility with modern async/await patterns or asyncio-based concurrency
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | 3 — tqdm, pathos, six |
| Maintenance | dormant — 736 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 172,237/month — #10,344 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: p_tqdm-1.4.2.tar.gz
Keywords: tqdm, progress bar, parallel
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
acvl-utilsProvides utility functions for dynamic…
permissive · top 15,000 on PyPI
tqdm-joblibAdds a progress bar to joblib.Parallel…
unclear · top 15,000 on PyPI
tqdm-multiprocessDisplays multiple tqdm progress bars from…
permissive · top 15,000 on PyPI
tqdm-loggableConverts tqdm progress bars to logging-friendly…
permissive · top 5,000 on PyPI
parallelbarParallelbar wraps Python's multiprocessing Pool…
permissive · top 15,000 on PyPI
paraDistributes CPU-intensive processing of…
permissive · top 15,000 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
tdqmtdqm is an alias package that redirects to…
copyleft · top 15,000 on PyPI
pqdmpqdm wraps tqdm and concurrent.futures to…
permissive · top 15,000 on PyPI
easydevProvides a collection of utility functions and…
permissive · top 15,000 on PyPI