-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Closed as not planned
Description
Coming from the marimo repo. There is likely a change required to support this functionality. Would like to hear thoughts on this
The rich.progress
module provides progress bars for stdout. However, the result is not displayed until after the progress bar is complete which defeats the point.
I've tried many of the examples in the documentation here and I have not had luck with all I have tried.
I tried on the current main branch of the marimo (0.9.17) and version of rich
13.7.0
Example code
import marimo
__generated_with = "0.9.17"
app = marimo.App(width="full")
@app.cell
def __():
import time
from rich.progress import track, Progress, BarColumn, TextColumn
from rich.table import Column
for i in track(range(10), description="Processing..."):
time.sleep(1) # Simulate work being done
return BarColumn, Column, Progress, TextColumn, i, time, track
@app.cell
def __(Progress, time):
total = 10
with Progress() as progress:
task1 = progress.add_task("[red]Downloading...", total=total)
task2 = progress.add_task("[green]Processing...", total=total)
task3 = progress.add_task("[cyan]Cooking...", total=total)
while not progress.finished:
progress.update(task1, advance=0.5)
progress.update(task2, advance=0.3)
progress.update(task3, advance=0.9)
time.sleep(0.02)
return progress, task1, task2, task3, total
@app.cell
def __(Progress, progress):
def do_work(task):
print(task)
with Progress(transient=True) as progress2:
task = progress.add_task("Working", total=100)
do_work(task)
return do_work, progress2, task
@app.cell
def __(BarColumn, Column, Progress, TextColumn, progress, time):
text_column = TextColumn(
"{task.description}",
table_column=Column(ratio=1),
)
bar_column = BarColumn(bar_width=None, table_column=Column(ratio=2))
with Progress(text_column, bar_column, expand=True):
for n in progress.track(range(10)):
progress.print(n)
time.sleep(0.1)
return bar_column, n, text_column
if __name__ == "__main__":
app.run()
Originally posted by @williambdean in marimo-team/marimo#2846
Metadata
Metadata
Assignees
Labels
No labels