If someone has an alternative, I am all ears (I’m coming up empty).
I got it working now. If someone wants to do something similar, what I
did was take the python example code from here:
(the last section of code near the bottom of the article that shows how
to use the select function).
The example is for TCP (which worked fine), but if you want to use UDP,
just change the line:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)