[object Object]

← back to Exo

download progress styling

7a65a96e52fb4198497b0c7612b972410222f3bd · 2024-08-07 13:10:39 +0100 · Alex Cheema

Files touched

Diff

commit 7a65a96e52fb4198497b0c7612b972410222f3bd
Author: Alex Cheema <alexcheema123@gmail.com>
Date:   Wed Aug 7 13:10:39 2024 +0100

    download progress styling
---
 exo/viz/topology_viz.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/exo/viz/topology_viz.py b/exo/viz/topology_viz.py
index 6491456d..38757f8a 100644
--- a/exo/viz/topology_viz.py
+++ b/exo/viz/topology_viz.py
@@ -208,7 +208,7 @@ class TopologyViz:
         progress_info = f"{pretty_print_bytes(download_progress.downloaded_bytes)} / {pretty_print_bytes(download_progress.total_bytes)} ({pretty_print_bytes_per_second(download_progress.overall_speed)})"
         summary.add_row(progress_info)
 
-        eta_info = f"ETA: {download_progress.overall_eta}"
+        eta_info = f"{download_progress.overall_eta}"
         summary.add_row(eta_info)
 
         summary.add_row("")  # Empty row for spacing
@@ -231,6 +231,12 @@ class TopologyViz:
             partition_info = f"[{partition.start:.2f}-{partition.end:.2f}]" if partition else ""
             percentage = progress.downloaded_bytes / progress.total_bytes * 100 if progress.total_bytes > 0 else 0
             speed = pretty_print_bytes_per_second(progress.overall_speed)
-            summary.add_row(f"{device.model if device else 'Unknown Device'} {device.memory // 1024 if device else '?'}GB {partition_info}: {progress.repo_id}@{progress.repo_revision} {percentage:.1f}% ({speed} ETA: {progress.overall_eta})")
+            device_info = f"{device.model if device else 'Unknown Device'} {device.memory // 1024 if device else '?'}GB {partition_info}"
+            progress_info = f"{progress.repo_id}@{progress.repo_revision} ({speed})"
+            progress_bar = f"[{'=' * int(percentage // 3.33)}{' ' * (30 - int(percentage // 3.33))}]"
+            percentage_str = f"{percentage:.1f}%"
+            eta_str = f"{progress.overall_eta}"
+            summary.add_row(device_info, progress_info, percentage_str)
+            summary.add_row("", progress_bar, eta_str)
 
     return summary
\ No newline at end of file

← c59ceab8 viz spacing  ·  back to Exo  ·  preemptively start downloads when any node starts processing f29963f4 →