From cbf0fd881c473526993a210c20440d586e4a4321 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Fri, 12 Jul 2024 17:43:15 +0100 Subject: [PATCH] Implemented a simple text spinner to show progress during pip installation. --- aider/utils.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/aider/utils.py b/aider/utils.py index 2a399e190..acefdffb8 100644 --- a/aider/utils.py +++ b/aider/utils.py @@ -2,6 +2,7 @@ import os import subprocess import sys import tempfile +import itertools from pathlib import Path import git @@ -192,15 +193,16 @@ def pip_install(args): try: process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, bufsize=1, universal_newlines=True) output = [] + spinner = itertools.cycle(['-', '/', '|', '\\']) for line in process.stdout: output.append(line) - # todo output a simple text spinner + print(f"\rInstalling... {next(spinner)}", end="", flush=True) return_code = process.wait() if return_code == 0: - print() + print("\rInstallation completed successfully.") print() return True