fastprogress
A nested progress with plotting options for fastai
What it is and what it does
fastprogress wraps iterators to display real-time progress bars in Jupyter notebooks and console environments. It supports nested progress tracking (parent and child bars), live comments on each bar, and optional matplotlib-based graph plotting that updates as your loop runs. The package is commonly used in machine learning training loops to visualize epoch progress, loss curves, and validation metrics simultaneously.
The library depends on fastcore and python-fasthtml for its core functionality. It targets Python 3.10+ and is designed to be lightweight and easy to integrate into existing loops with minimal code changes. Output can be written to files when the script is redirected, preserving only the `.write()` method output.
Use it for:
- Track multi-level training loops with separate progress bars for epochs and batches while plotting loss curves live.
- Monitor long-running data processing pipelines in Jupyter notebooks with nested progress and status comments.
- Display console progress for batch jobs with optional graph visualization of metrics over time.
- Provide real-time feedback during hyperparameter sweeps or grid searches with nested iteration tracking.
- Log training progress to files while showing interactive progress in Jupyter during development.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Displays nested progress bars with optional live plotting for Jupyter notebooks and console output, useful for tracking multi-level loops and training workflows.
Yes. Active maintenance, no known vulnerabilities, permissive license, and low install friction make it a safe choice. Install if you need nested progress tracking with optional live plotting in Jupyter or console environments, especially for training loops or multi-level iterations.
Install
fastprogress on PyPI
pip
pip install fastprogressuv
uv add fastprogresspoetry
poetry add fastprogressInstalling fastprogress
Before you install
Low friction: pure Python wheel with only two runtime dependencies (fastcore and python-fasthtml). Active maintenance with recent releases; last commit 2026-08-06.
License in practice
Apache-2.0 permissive license allows use in commercial and private projects with minimal restrictions.
Quickstart
pip install fastprogress
from fastprogress.fastprogress import master_bar
from time import sleep
for i in (mb := master_bar(range(10))):
for j in mb.progress(range(100)):
sleep(0.01)
mb.write(f'Finished loop {i}.')
Requires Python 3.10 or later.
Verify before relying
- Whether plotting features work outside Jupyter (e.g., in headless environments or pure console).
- Performance characteristics with very large iteration counts or frequent graph updates.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — fastcore, python-fasthtml |
| Maintenance | actively maintained — 96 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,615,692/month — #3,716 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fastprogress-1.1.6-py3-none-any.whl
Keywords: jupyter, notebook, progressbar
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
progressbar2progressbar2 renders text-based progress bars…
permissive · top 5,000 on PyPI
progressProvides terminal progress bars and spinners…
permissive · top 5,000 on PyPI
stqdmstqdm wraps tqdm progress bars for Streamlit…
permissive · top 15,000 on PyPI
progressbar33Displays text-based progress bars in the…
unclear · top 15,000 on PyPI
matplotlib-inlineEnables matplotlib figures to display inline…
permissive · top 1,000 on PyPI
proglogProglog provides a unified progress logging…
permissive · top 5,000 on PyPI
tqdm-joblibAdds a progress bar to joblib.Parallel…
unclear · top 15,000 on PyPI
ipywidgetsipywidgets provides interactive HTML widgets…
permissive · top 1,000 on PyPI