Qual biblioteca assíncrona Python seria mais adequada para o meu código? Asyncore? Torcido?

Eu tenho um programa no qual estou trabalhando que lerá duas fontes de rede simultaneamente. Eu queria experimentar uma abordagem assíncrona em vez de usar o encadeamento. Isso me levou a pensar em qual biblioteca usar ...

Eu vim com um código de exemplo simples que demonstra o que meu programa fará:

import sniffer

def first():
    for station in sniffer.sniff_wifi():
        log(station.mac())

def second():
    for station in sniffer.sniff_ethernet():
        log(station.mac())

first()
second()

Os doissniffer Os métodos se parecem com isso:

def sniff_wifi(self):

    while True:
        yield mac_address

owhile True O loop obviamente os torna bloqueadores.

Eu quero usarasyncore para isso, pois faz parte da biblioteca padrão. Nenhuma dependência de terceiros é um bônus. No entanto, isso não significa que não o usarei se você recomendar ...

Posso conseguir o que estou tentando fazer com o asyncore? Em caso afirmativo, você poderia me mostrar como converter meu código de exemplo em 'código assíncrono'? Você conhece algum bom tutorial sobre asyncore?

questionAnswers(3)

yourAnswerToTheQuestion