skip to navigation
skip to content

pycares 2.3.0

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.



python install

Mac OSX:

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

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


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 tests/

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

    From the toplevel directory, run: tox -e py27,py33,py34,py35 this will run the test suite on Python 2.7, 3.3, 3.4 and 3.5 (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. Both CPython and PyPy (tested with version 5) are supported.


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 :-)

File Type Py Version Uploaded on Size
pycares-2.3.0-cp27-cp27m-win32.whl (md5) Python Wheel cp27 2017-07-20 48KB
pycares-2.3.0-cp27-cp27m-win_amd64.whl (md5) Python Wheel cp27 2017-07-20 57KB
pycares-2.3.0-cp27-cp27mu-manylinux1_i686.whl (md5) Python Wheel cp27 2017-07-20 178KB
pycares-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl (md5) Python Wheel cp27 2017-07-20 191KB
pycares-2.3.0-cp33-cp33m-manylinux1_i686.whl (md5) Python Wheel cp33 2017-07-20 178KB
pycares-2.3.0-cp33-cp33m-manylinux1_x86_64.whl (md5) Python Wheel cp33 2017-07-20 192KB
pycares-2.3.0-cp33-cp33m-win32.whl (md5) Python Wheel cp33 2017-07-20 49KB
pycares-2.3.0-cp33-cp33m-win_amd64.whl (md5) Python Wheel cp33 2017-07-20 56KB
pycares-2.3.0-cp34-cp34m-manylinux1_i686.whl (md5) Python Wheel cp34 2017-07-20 181KB
pycares-2.3.0-cp34-cp34m-manylinux1_x86_64.whl (md5) Python Wheel cp34 2017-07-20 195KB
pycares-2.3.0-cp34-cp34m-win32.whl (md5) Python Wheel cp34 2017-07-20 49KB
pycares-2.3.0-cp34-cp34m-win_amd64.whl (md5) Python Wheel cp34 2017-07-20 56KB
pycares-2.3.0-cp35-cp35m-manylinux1_i686.whl (md5) Python Wheel cp35 2017-07-20 181KB
pycares-2.3.0-cp35-cp35m-manylinux1_x86_64.whl (md5) Python Wheel cp35 2017-07-20 195KB
pycares-2.3.0-cp35-cp35m-win32.whl (md5) Python Wheel cp35 2017-07-20 50KB
pycares-2.3.0-cp35-cp35m-win_amd64.whl (md5) Python Wheel cp35 2017-07-20 62KB
pycares-2.3.0-cp36-cp36m-manylinux1_i686.whl (md5) Python Wheel cp36 2017-07-20 181KB
pycares-2.3.0-cp36-cp36m-manylinux1_x86_64.whl (md5) Python Wheel cp36 2017-07-20 195KB
pycares-2.3.0-cp36-cp36m-win32.whl (md5) Python Wheel cp36 2017-07-20 50KB
pycares-2.3.0-cp36-cp36m-win_amd64.whl (md5) Python Wheel cp36 2017-07-20 62KB
pycares-2.3.0.tar.gz (md5) Source 2017-07-20 219KB