proglog
Log and progress bar manager for console, notebooks, web...
Decision gist · record as of 2026-08-14
Yes, if you are building a library or tool that needs to expose progress or logging to users across multiple environments (console, notebook, web). The permissive MIT license and low install friction (tqdm only) make it a safe choice. The aging maintenance status is a minor concern, but the recent commit and active repository suggest it is still functional; verify test coverage and whether your use case aligns with the documented logger types before committing to it for mission-critical infrastructure.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- For Jupyter notebook HTML progress bars, ipywidgets must be installed separately and enabled in your Jupyter environment.
- Low install friction; depends only on tqdm.
- Package is aging (462 days since last release) but repository is active and not archived, with a recent commit on 2025-05-09.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use this in commercial and proprietary projects with minimal restrictions beyond attribution.
last release 2025-05-09 (462 days) · last repo commit 2025-05-09 · 113 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 7,084,385 downloads/mo, #1,789 on PyPI
Alternatives
Verify before relying
pip install proglog
from proglog import default_bar_logger
logger = default_bar_logger('bar')
for i in logger.iter_bar(iteration=range(10)):
pass # your work here- Whether ipywidgets is required for notebook support or only optional for enhanced rendering
- Current test coverage and whether the package is actively maintained beyond the recent commit
What it is and what it does
Proglog is a progress logging system that solves the problem of managing progress bars and logs across complex multi-library projects. Instead of each library implementing its own progress display, Proglog provides a unified logger interface that abstracts away whether output goes to a console, Jupyter notebook, web server, or custom handler. Libraries pass the logger through their call chain, and end users control which progress bars display, their update frequency, and output format—all without libraries needing to know about the final display target.
The package wraps tqdm and provides logger classes like TqdmProgressBarLogger and RqWorkerBarLogger for different environments. It also supports custom loggers via subclassing ProgressBarLogger, callback functions on state changes, and arbitrary key-value logging beyond just progress bars. This makes it useful when building tools that orchestrate other libraries' long-running operations and need to expose unified, user-configurable progress reporting.
Use it for
- Building a library that runs nested loops or calls other libraries and wants to expose progress bars that users can silence or customize per-bar
- Creating a web application that runs background jobs via Python-RQ and needs to report progress back to the frontend
- Writing a tool that must work in console, Jupyter, and headless environments without changing code for each context
- Aggregating logs and progress from multiple interdependent libraries into a single, user-controlled reporting stream
- Adding callback hooks to react to progress updates (e.g., logging, metrics collection) without modifying core library code
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are building a library or tool that needs to expose progress or logging to users across multiple environments (console, notebook, web).
The permissive MIT license and low install friction (tqdm only) make it a safe choice. The aging maintenance status is a minor concern, but the recent commit and active repository suggest it is still functional; verify test coverage and whether your use case aligns with the documented logger types before committing to it for mission-critical infrastructure.
Install
proglog on PyPI
Before you install
Low install friction; depends only on tqdm. Package is aging (462 days since last release) but repository is active and not archived, with a recent commit on 2025-05-09.
For Jupyter notebook HTML progress bars, ipywidgets must be installed separately and enabled in your Jupyter environment.
License in practice
MIT license is permissive; you can use this in commercial and proprietary projects with minimal restrictions beyond attribution.
Quickstart
pip install proglog
from proglog import default_bar_logger
logger = default_bar_logger('bar')
for i in logger.iter_bar(iteration=range(10)):
pass # your work here
Verify before relying
- Whether ipywidgets is required for notebook support or only optional for enhanced rendering
- Current test coverage and whether the package is actively maintained beyond the recent commit
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagetqdm |
| Maintenance | Aging 462 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 7,084,385 / month, #1,789 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: proglog-0.1.12-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “multi-backend progress bars”
- proglogProglog provides a unified progress logging interface that lets…
- enlightenEnlighten is a console progress bar library that displays progress…
- tqdm-multiprocessDisplays multiple tqdm progress bars from worker processes in a…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.
Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.
See also progressbar2 · tqdm-loggable · progress · enlighten · fastprogress · progressbar33 · tqdm-multiprocess · celery-progress · tqdm-joblib