Handling Multithreaded Output and Live Status Updates in a CLI Tool

I’m trying to run multiple threads without garbling the terminal output. I also want to keep status indicators, such as Stat: Scanned 50/100, updating continuously. What would be the best way to implement this in Python?

I would queue all output to the main thread, which displays it in a tkinter window with a text and other widgets.

Accessing console from only 1 thread prevents garbling and enables cumulative summary. For bare bones CLI, print summary after each message. Where avaiable, curses and other package will enable scroll region and stable summary, but I know nothing more of those.

Thanks for letting me know!
I appreciate it.