Skip to content

progress

Classes:

Functions:

FPSColumn

Bases: ProgressColumn

Progress rendering.

Methods:

render

render(task: Task) -> Text

Render bar.

Source code
25
26
27
28
def render(self, task: Task) -> Text:
    """Render bar."""

    return Text(f"{task.speed or 0:.02f} fps")

RenderProgressCTX

RenderProgressCTX(progress: Progress, task_id: TaskID)

Methods:

Attributes:

Source code
32
33
34
def __init__(self, progress: Progress, task_id: TaskID) -> None:
    self.progress = progress
    self.task_id = task_id

progress instance-attribute

progress = progress

task_id instance-attribute

task_id = task_id

update

update() -> None
update(*, advance: int) -> None
update(completed: int, total: int) -> None
update(
    completed: int | None = None, total: int | None = None, advance: int = 1
) -> None
Source code
57
58
def update(self, completed: int | None = None, total: int | None = None, advance: int = 1) -> None:
    return self.progress.update(self.task_id, completed=completed, total=total, advance=advance)

get_render_progress

get_render_progress() -> Progress
get_render_progress(title: str, total: int) -> RenderProgressCTX
get_render_progress(
    title: str | None = None, total: int | None = None
) -> RenderProgressCTX | Progress

Return render progress.

Source code
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
def get_render_progress(title: str | None = None, total: int | None = None) -> RenderProgressCTX | Progress:
    """Return render progress."""

    if title and total:
        progress = get_render_progress()

        return RenderProgressCTX(progress, progress.add_task(title, True, total))

    return Progress(
        TextColumn("{task.description}"),
        BarColumn(),
        TextColumn("{task.completed}/{task.total}"),
        TextColumn("{task.percentage:>3.02f}%"),
        FPSColumn(),
        TimeElapsedColumn(),
        TimeRemainingColumn(),
        console=Console(stderr=True),
    )