For visualisation one can use status bar.
Implementation depends on code (can you actually measure progress) but generally:
import sys, time
def status(activity, progres, length=25):
block = int(round(length*progres))
msg = f'\r{activity}: [{"#"*block}{"-"*(length-block)}] {progres*100:.0f}% {"Ready" if 1 <= progres else ""}'
sys.stdout.write(msg)
sys.stdout.flush()
# Usage
lst = []
for i in range(101):
time.sleep(0.02)
lst.append(i)
status('Appending to list', i/100)
print('\r')
pops = len(lst)
while lst:
time.sleep(0.02)
lst.pop()
status('Popping from list', (pops-len(lst)-1)/100)
This will nicely and dynamically show progress and if everything is ok it will finish like this:
Output:
Appending to list: [#########################] 100% Ready
Popping from list: [#########################] 100% Ready
time.sleep(0.02) is needed for human eyes only