Loop de leitura sem bloqueio PySerial

Eu estou lendo dados em série como este:

connected = False
port = 'COM4'
baud = 9600

ser = serial.Serial(port, baud, timeout=0)

while not connected:
    #serin = ser.read()
    connected = True

    while True:
        print("test")
        reading = ser.readline().decode()

O problema é que isso impede que qualquer outra coisa seja executada, incluindo o framework web bottle py. Adicionandosleep() não vai ajudar.

Alterando "while True" "to" while ser.readline (): "não imprime" test ", o que é estranho, já que funcionava no Python 2.7. Alguma idéia do que poderia estar errado?

Idealmente, eu deveria ser capaz de ler dados seriais apenas quando estiver disponível. Os dados estão sendo enviados a cada 1.000 ms.

questionAnswers(3)

yourAnswerToTheQuestion