Skip to content

v4.6.0

Latest

Choose a tag to compare

@wolph wolph released this 13 Aug 16:43
· 49 commits to develop since this release
v4.6.0
81eed97

Highlights since 4.5.0:

Performance

  • progressbar.progressbar() now auto-dispatches to a lean fast path for the common wrap-a-loop case, and an integer update gate keeps gated iterations to an increment, a compare and a store (#316).
  • Optional native iterator accelerator: pip install 'progressbar2[fast]'. See benchmarks/report.md for the numbers against tqdm, rich, alive-progress and click.

Features

  • tqdm-style arguments on progressbar(): desc, total, unit, unit_scale and postfix.
  • MultiBar(join_timeout=...) bounds the wait for unfinished bars on with-block exit.
  • TERM-based color detection generalized beyond xterm variants (#318), plus a truecolor-terminal allowlist for stripped COLORTERM environments.
  • AttributeDict is generic over its value type.

Fixes

  • 28 bugs found in a full audit of the bar, widgets, MultiBar and the CLI (#315), plus regression coverage for #212, #295 and #301 (#317, #326).
  • 16-color mapping no longer collapses mid-intensity colors (e.g. maroon) to black.
  • The wheel no longer ships the repo-level benchmarks/, scripts/ and tools/ directories.

Documentation

  • Rebuilt as an interactive site: a tutorial, task-focused how-tos, per-widget pages with animated demos, and an in-browser Python console that runs every example live: https://progressbar-2.readthedocs.io/
  • Full API docstring coverage, enforced in CI.

Compatibility

  • Requires Python 3.10+ (was 3.8).
  • Still backwards compatible with the original progressbar package.

Full changelog: v4.5.0...v4.6.0