![](https://secure.gravatar.com/avatar/8ab170b9b306906ab29f527a89806ff5.jpg?s=120&d=mm&r=g)
I was given the task to have a program to send SNMP get requests and recieve SNMP traps. There is a PySNMP package out there, and I guess that it's a blocking call to get data from an SNMP server, especially when doing a walk style request. My questions are, 1. Should one attempt on doing the hair raising task of doing the SNMP client and Server protocols? (Hopefully, you should never need to write your own protocols) 2. Use the PySNMP library as is, no matter how blocking that can be? 3. Use PySNMP calls in a thread? 4. Use the command line executables of ucd-snmp (or net-snmp) and use the reactor.spawnProcess() calls. Get SNMP traps using syslog named pipes. All are valid answers, though I pretty much think that 1. is the best way to go, BUT, looking at SNMP rfcs, it could very well prove to be an almost impossible task (especially for a newbie like me:).