Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Python interface for c-ares
C Python PowerShell Batchfile Shell
Fetching latest commit...
Cannot retrieve the latest commit at this time.


pycares: Python interface for c-ares

pycares is a Python module which provides an interface to c-ares. c-ares is a C library that performs DNS requests and name resolutions asynchronously.


Bundled c-ares

pycares currently bundles c-ares and as of pycares 1.0.0 this is a strong requirement. Upstream c-ares is not willing to apply a patch adding TTL support. I did apply the patch to the bundled c-ares, but unfortunately it breaks the ABI, so attempting to use a system provided c-ares is not possible.




Mac OSX:

(XCode needs to be installed)
export ARCHFLAGS="-arch x86_64"

Microsoft Windows (with Visual Studio 2008, 2010 or the Windows SDK):


Microsoft Windows (with MinGW, not recommended):

(MinGW and MSYS need to be installed)
./build_inplace --compiler=mingw32

Running the test suite

There are several ways of running the test ruite:

  • Run the test with the current Python interpreter:

    From the toplevel directory, run: python

  • Use Tox to run the test suite in several virtualenvs with several interpreters

    From the toplevel directory, run: tox -e py27,py33,py34 this will run the test suite on Python 2.7, 3.3 and 3.4 (you'll need to have them installed beforehand)


Saúl Ibarra Corretgé <>


Unless stated otherwise on-file pycares uses the MIT license, check LICENSE file.

Python versions

Python >= 2.7 and >= 3.3 are supported. Other older versions might work too, but they are not actively tested.


If you'd like to contribute, fork the project, make a patch and send a pull request. Have a look at the surrounding code and please, make yours look alike :-)

Something went wrong with that request. Please try again.