Hi! As you all probably know DNS lookups can get tricky at times, since they block. c-ares is a completely asynchronous DNS resolver written in C, and pycares exports its functionality to Python.
After giving the idea some thought I decided to remove the c-ares based resolver which I had implemented in pyuv and created a standalone package instead.
This way, the implementation is completely independent and it can be used with any asynchronous library like Eventlet, Gevent, pyev, …
Since the c-ares build process can be a bit tricy and uses autotools I decided to use a modified version of the build system used in libuv which is based in plain Makefiles.
You can get the source code on the GitHub repository and checkout the documentation here.
Hope you like it!
:wq
Great! I’ve had a look at the cares-resolver.py example however I’m not familiar with pyuv. Could you please provide an example resolver that does not use pyuv? Thanks,Ian.
Hi Ian, there is also a example that uses select directly. Hope that helps.