napari.utils.progress#

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

Bases: tqdm

This class inherits from tqdm and provides an interface for progress bars in the napari viewer. Progress bars can be created directly by wrapping an iterable or by providing a total number of expected updates.

While this interface is primarily designed to be displayed in the viewer, it can also be used without a viewer open, in which case it behaves identically to tqdm and produces the progress bar in the terminal.

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

Examples

>>> def long_running(steps=10, delay=0.1):
...     for i in progress(range(steps)):
...         sleep(delay)

it can also be used as a context manager:

>>> def long_running(steps=10, repeats=4, delay=0.1):
...     with progress(range(steps)) as pbr:
...         for i in pbr:
...             sleep(delay)

or equivalently, using the progrange shorthand

with progrange(steps) as pbr:
    for i in pbr:
        sleep(delay)

For manual updates:

>>> def manual_updates(total):
...     pbr = progress(total=total)
...     sleep(10)
...     pbr.set_description("Step 1 Complete")
...     pbr.update(1)
...     # must call pbr.close() when using outside for loop
...     # or context manager
...     pbr.close()

Methods

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

close()[source]#

Close progress object and emit event.

display(msg: str | None = None, pos: int | None = None) None[source]#

Update the display and emit eta event.

increment_with_overflow()[source]#

Update if not exceeding total, else set indeterminate range.

set_description(desc)[source]#

Update progress description and emit description event.

update(n=1)[source]#

Update progress value by n and emit value event