-
-
Notifications
You must be signed in to change notification settings - Fork 106
Comparing changes
Open a pull request
base repository: wolph/python-progressbar
base: master
head repository: wolph/python-progressbar
compare: develop
- 11 commits
- 144 files changed
- 1 contributor
Commits on Aug 14, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 69cc258 - Browse repository at this point
Copy the full SHA 69cc258View commit details -
feat: parallel execution verbs with reliable progress bars (#327)
* feat(parallel): shared plumbing for the parallel verbs * feat(parallel): display layer with keep-alive plain display * feat(parallel): MultiBar-backed per-task display * feat(parallel): sync engine and ordered map over threads * feat(parallel): pin error, timeout and interrupt contracts * test(parallel): process and interpreter pools with auto-chunking * feat(parallel): lazy ordered imap and completion-order imap_unordered * feat(parallel): starmap, tqdm-style aliases and as_completed * feat(parallel): reusable Pool layer * feat(parallel): asyncio engine and amap * feat(parallel): aimap, gather drop-in and AsyncPool * feat(parallel): run() shell helper * feat(parallel): @parallel decorator * feat(parallel): public API exports * docs(parallel): howto, reference and README section * test(parallel): close coverage gaps to 100% branch * fix(ci): version-gate coverage, subinterpreter pickling and Windows argv quoting * test(perf): guard import laziness and parallel coordinator scaling * fix(lint): parenthesize the laziness probe for ISC004 (ruff 0.16)
Configuration menu - View commit details
-
Copy full SHA for 885dd78 - Browse repository at this point
Copy the full SHA 885dd78View commit details -
docs(readme): benchmark-race hero, animated demos, Markdown conversion
Rewrite the README as Markdown with a measured-data wow layout and wire up the assets and gates that keep it honest: - README.md replaces README.rst: centered badge row, animated benchmark race hero, feature sections with animated SVG demos (colors, logs, multibar, parallel execution, pv-style CLI), verified stability numbers, retained reference content - benchmarks: measure plain progressbar2 and progressbar2[fast] separately in scenarios A and C, add speedups to requirements, refresh results/report/chart against current develop - scripts/render_race.py: deterministic race SVG generated from results.json, byte-drift gated in tox docs-demos next to render_demos --check - new registry demos readme/colors, readme/parallel and readme/cli with capture tests, README code blocks test-synced to the example sources - render_demos: drop rows that MultiBar clears so removed bars no longer linger as stale duplicate frames - fix(bar): NullBar.finish() now flips _finished, so a NullBar inside a MultiBar context cannot hang the exit wait (regression test included) - tox: new readme env builds the sdist and runs twine check --strict (with readme_renderer[md]) in CI
Configuration menu - View commit details
-
Copy full SHA for 2b85370 - Browse repository at this point
Copy the full SHA 2b85370View commit details -
style(readme): two-space trailing comments in the parallel snippet
Newer ruff releases format Python code blocks inside Markdown and reject the column-aligned comments the CI formatter gate runs against.
Configuration menu - View commit details
-
Copy full SHA for 2c66e91 - Browse repository at this point
Copy the full SHA 2c66e91View commit details -
ci: absorb experimental-env timeouts at the job level
A job that hits timeout-minutes is cancelled rather than failed, which the step-level continue-on-error cannot absorb. The experimental docs-linkcheck env did exactly that while waiting on slow external servers and marked the whole run cancelled.
Configuration menu - View commit details
-
Copy full SHA for 7e49444 - Browse repository at this point
Copy the full SHA 7e49444View commit details -
docs(linkcheck): bound external requests to 15 seconds
One hanging external server blocked its linkcheck worker forever and ran the CI docs-linkcheck job into its 10-minute kill, ending the job as cancelled (which continue-on-error cannot absorb) instead of failed (which it can). Seen on three of the last four develop runs, including one that predates today's README work.
Configuration menu - View commit details
-
Copy full SHA for f249fb8 - Browse repository at this point
Copy the full SHA f249fb8View commit details -
docs(linkcheck): skip self-repo GitHub links and cap 429 backoff
GitHub rate-limits anonymous CI requests to its own web pages. The /commits/develop link in the docs drew 429s with exponential backoff sleeps of up to 300 seconds each, which single-handedly blew the docs-linkcheck job's 10-minute budget. Links into this repository verify nothing worth that cost, so they are skipped, and the remaining backoff is capped at 30 seconds.
Configuration menu - View commit details
-
Copy full SHA for 76d061f - Browse repository at this point
Copy the full SHA 76d061fView commit details -
docs(readme): gradient percentage on the plain race lane, history wor…
…ding The full bar's default widgets color the percentage readout with the red to green progress gradient, so the plain progressbar2 lane in the benchmark race now wears that too instead of rendering colorless. The stability section states the support history the way it actually ran: non-stop since 2012, and since 2008 before that as the original progressbar library.
Configuration menu - View commit details
-
Copy full SHA for c10b76b - Browse repository at this point
Copy the full SHA c10b76bView commit details -
fix(widgets): restore the Bar fill's default gradient
Bar declared fg=colors.gradient and bg=None as plain class attributes that nothing reads: the color machinery only consults _gradient_colors, which stayed all-None, so the default bar fill rendered colorless on every terminal while Percentage and SimpleProgress (via ColoredMixin) colored correctly. The fill now sweeps the red to green gradient with progress, as the dead attributes always intended. Fallout handled with it: - render_demos: classify progress lines against SGR-stripped text. PERCENT_RE finds no word boundary in '...39m100%' and BAR_RE cannot match a fill with color codes woven through it, so the colored 100% finish line misclassified as log output and the log-window demos never showed their bars completing. - tests: same stripping for the BAR_RE-based assertions, a regression test for the gradient default, and a colors-opted-out test keeping the no-colors branch covered. - 35 demo SVGs re-rendered with the gradient fill, and the benchmark race's plain progressbar2 lane now colors its fill the same way the real default does.
Configuration menu - View commit details
-
Copy full SHA for 6e5c634 - Browse repository at this point
Copy the full SHA 6e5c634View commit details -
docs: drop obsolete compat boilerplate from the examples
`from __future__ import annotations` does nothing on the 3.10+ range this package supports, so the examples readers copy from should not carry it. Also removes the now-pointless FA lint selection and the python2-era shebang in examples.py.
Configuration menu - View commit details
-
Copy full SHA for 8c0039a - Browse repository at this point
Copy the full SHA 8c0039aView commit details -
feat(cli): add a bar shorthand for the pv-style command
pip install progressbar2 now also puts a three-keystroke bar command on the path, the same progressbar.__main__:main entry point, so pipelines read tar cf - src/ | bar --bytes --rate > backup.tar. The README, CLI reference, and the readme/cli example docstring teach it, and a packaging test pins both console scripts to the same entry point.
Configuration menu - View commit details
-
Copy full SHA for a2c09de - Browse repository at this point
Copy the full SHA a2c09deView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...develop