napari.utils.cancelable_progress#

class napari.utils.cancelable_progress(*_, **__)[source]#

Bases: progress

This class inherits from progress, providing the additional ability to cancel expensive executions. When progress is canceled by the user in the napari UI, two things will happen:

Firstly, the is_canceled attribute will become True, and the for loop will terminate after the current iteration, regardless of whether or not the iterator had more items.

Secondly, cancel_callback will be called, allowing the computation to close resources, repair state, etc.

See napari.utils.progress and tqdm.tqdm API for valid args and kwargs: https://tqdm.github.io/docs/tqdm/

Examples

>>> def long_running(steps=10, delay=0.1):
...     def on_cancel():
...         print("Canceled operation")
...     for i in cancelable_progress(range(steps), cancel_callback=on_cancel):
...         sleep(delay)
inherited-members:

Methods

cancel()

Cancels the execution of the underlying computation.

clear([nolock])

Clear current bar display.

close()

Close progress object and emit event.

display([msg, pos])

Update the display and emit eta event.

external_write_mode([file, nolock])

Disable tqdm within context and refresh tqdm when exits.

format_interval(t)

Formats a number of seconds as a clock time, [H:]MM:SS

format_meter(n, total, elapsed[, ncols, ...])

Return a string-based progress bar given some parameters

format_num(n)

Intelligent scientific notation (.3g).

format_sizeof(num[, suffix, divisor])

Formats a number (greater than unity) with SI Order of Magnitude prefixes.

get_lock()

Get the global lock.

increment_with_overflow()

Update if not exceeding total, else set indeterminate range.

moveto(n)

pandas(**tqdm_kwargs)

Registers the current tqdm class with

refresh([nolock, lock_args])

Force refresh the display of this bar.

reset([total])

Resets to 0 iterations for repeated use.

set_description(desc)

Update progress description and emit description event.

set_description_str([desc, refresh])

Set/modify description without ': ' appended.

set_lock(lock)

Set the global lock.

set_postfix([ordered_dict, refresh])

Set/modify postfix (additional stats) with automatic formatting based on datatype.

set_postfix_str([s, refresh])

Postfix without dictionary expansion, similar to prefix handling.

status_printer(file)

Manage the printing and in-place updating of a line of characters.

unpause()

Restart tqdm timer from last print time.

update([n])

Update progress value by n and emit value event

wrapattr(stream, method[, total, bytes])

stream : file-like object. method : str, "read" or "write". The result of read() and the first argument of write() should have a len().

write(s[, file, end, nolock])

Print a message via tqdm (without overlap with bars).

Attributes

format_dict

Public API for read-only member access.

monitor

monitor_interval

total

Details

cancel()[source]#

Cancels the execution of the underlying computation. Note that the current iteration will be allowed to complete, however future iterations will not be run.