Mercurial > repos > rliterman > csp2
view CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/site-packages/tqdm/dask.py @ 68:5028fdace37b
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 16:23:26 -0400 |
parents | |
children |
line wrap: on
line source
from functools import partial from dask.callbacks import Callback from .auto import tqdm as tqdm_auto __author__ = {"github.com/": ["casperdcl"]} __all__ = ['TqdmCallback'] class TqdmCallback(Callback): """Dask callback for task progress.""" def __init__(self, start=None, pretask=None, tqdm_class=tqdm_auto, **tqdm_kwargs): """ Parameters ---------- tqdm_class : optional `tqdm` class to use for bars [default: `tqdm.auto.tqdm`]. tqdm_kwargs : optional Any other arguments used for all bars. """ super().__init__(start=start, pretask=pretask) if tqdm_kwargs: tqdm_class = partial(tqdm_class, **tqdm_kwargs) self.tqdm_class = tqdm_class def _start_state(self, _, state): self.pbar = self.tqdm_class(total=sum( len(state[k]) for k in ['ready', 'waiting', 'running', 'finished'])) def _posttask(self, *_, **__): self.pbar.update() def _finish(self, *_, **__): self.pbar.close() def display(self): """Displays in the current cell in Notebooks.""" container = getattr(self.bar, 'container', None) if container is None: return from .notebook import display display(container)