Barra de progreso de Python a través del módulo de registro

He visto diferentes soluciones para una barra de progreso dentro de Python, pero las soluciones stdout simples no funcionan para mi proyecto. Tengo varias clases y uso el módulo de "registro" para enviar información a STDOUT. Tengo una función de la que quiero mostrar una barra de progreso en una línea, vaciando el búfer cada vez.

Ejemplo del progreso simple:

for i in range(100):
    time.sleep(1)
    sys.stdout.write("\r%d%%" %i)
    sys.stdout.flush()

Cuando trato de escribir a través de STDOUT y luego descargo el búfer, o bien el búfer no se vacía o el progreso no va a ninguna parte. Espero evitar algún tipo de proceso de subprocesos o complicado para hacer esto posible. ¿Alguien tiene una forma preferida de hacer que esto suceda?

Respuestas a la pregunta(4)

Su respuesta a la pregunta