Okay, please don't kill me for asking this. 
I'm currently developing a 2D online multiplayer platformer shooter. Yeah, it's that cool. I have most of the game written with a couple of bugs and unoptimized, but I'm stuck when it comes to networking. I used PyGame, and so I tried using a bunch of Python libraries for networking. You name it, I think that I've looked at all the primary ones. 
Here are some
PyEnet - thought it had internal congestion control, ugh
MasterMind - not asynchronous 
PodSixNet - is this even UDP?
Legume - currently stuck with the server giving me an exception, waiting for a response at the mailing list. Looks absolutely gorgeous otherwise.
Can't remember all the other ones I tried.
Anyways, what I need is UDP (trust me, I need UDP) and another reliable protocol for chat, masterserver, new player info, and all packets I can't afford to lose. I read somewhere that TCP and UDP used simultaneously wasn't a good idea, so I tried finding reliable UDP implementations in Python, therefore all my wandering about with these obscure libraries. Along the way I've learned to fool around with sockets myself, so I have two clear paths.
1) When people asked if UDP and TCP together were a bad idea, maybe they meant that they would use the same port for both protocols. How bad is it if I use two different ports? The TCP part will be idle most of the time, anyways, maybe 0-20 packets per 10 sec for a busy server.
2) Write my own reliable UDP. Ugh, it's what I was hiding from. If all fails, I guess I'll need to do that.
In short, yes. I use Python/Scapy to test network equipments all the time. I am assuming you will be using Threads for the two separate communication channels. If your CPU can handle it there is no reason why you cannot do this, and of course the amount of traffic generated by network games are usually not enough to significantly utilize modern day CPUs.
Python networking with UDP for action games