mqdm
Pretty, worker-aware progress bars for Python.
mqdm keeps a tqdm-like feel, but is designed to work seamlessly across parallel workers.
Install
pip install mqdm
Quick look
import time
import mqdm
for folder in mqdm.mqdm(["cats", "clouds", "notes"], desc="indexing"):
for _ in mqdm.mqdm(range(5), desc=lambda _, i: f"{folder} · file {i + 1}"):
time.sleep(0.05)
In parallel:
import time
import mqdm
def do_work(folder):
for _ in mqdm.mqdm(range(5), desc=lambda _, i: f"{folder} · file {i + 1}"):
time.sleep(0.05)
def main():
mqdm.pool(do_work, ["cats", "clouds", "notes"], desc="indexing", n_workers=3)
if __name__ == "__main__":
main()
Full docs can be found here.
Docs
Local preview:
pip install -e ".[docs]"
mkdocs serve
Tests
pip install -e ".[test]"
pytest
Test across multiple Python versions:
for py in 3.10 3.11 3.12 3.13 3.14 3.15; do
echo "=== Python $py ==="
uv run --python $py pytest tests/ -q 2>&1 || break
done
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mqdm-2.0.6.tar.gz
(58.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
mqdm-2.0.6-py3-none-any.whl
(51.5 kB
view details)
File details
Details for the file mqdm-2.0.6.tar.gz.
File metadata
- Download URL: mqdm-2.0.6.tar.gz
- Upload date:
- Size: 58.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93ee6beea77c53ad188905f4ac2062380ca1674aaba2c0ee8bf0ca6bf616d33b
|
|
| MD5 |
ee235520cb864735ab7d5f63dd3e1392
|
|
| BLAKE2b-256 |
74d7bbd7a9d148afa308595f86ca1db67218bb9fd892ec5f5e107c987831c168
|
File details
Details for the file mqdm-2.0.6-py3-none-any.whl.
File metadata
- Download URL: mqdm-2.0.6-py3-none-any.whl
- Upload date:
- Size: 51.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebf0cfb0826c3ce6e64dd40a34c7c009787bb8edcf05acbde8301276daa03d4d
|
|
| MD5 |
647c5e4232cb1fc70ab3dee86245e803
|
|
| BLAKE2b-256 |
499db035b1e2bf8958da683353c56c04eb3aeed0f774c642c802873d33834767
|