Skip to main content

Simple DNS resolver for asyncio

https://secure.travis-ci.org/saghul/aiodns.png?branch=master

aiodns provides a simple way for doing asynchronous DNS resolutions with a synchronous looking interface by using pycares.

Example

import asyncio
import aiodns

loop = asyncio.get_event_loop()
resolver = aiodns.DNSResolver(loop=loop)
f = resolver.query('google.com','A')
result = loop.run_until_complete(f)
print(result)

The following query types are supported: A, AAAA, CNAME, MX, NAPTR, NS, PTR, SOA, SRV, TXT.

API

The API is pretty simple, two functions are provided in the DNSResolver class:

  • query(host, type): Do a DNS resolution of the given type for the given hostname. It returns an instance of asyncio.Future.

  • cancel(): Cancel all pending DNS queries. All futures will get DNSError exception set, with ARES_ECANCELLED errno.

Running the test suite

To run the test suite: python test_aiodns.py

Author

Saúl Ibarra Corretgé <saghul@gmail.com>

License

aiodns uses the MIT license, check LICENSE file.

Python versions

Python 3.4 is natively supported. Python 3.3 supported using the asyncio package. Older Python versions(2.6 - 3.2) are supported using trollius.

Contributing

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

Release files for aiodns 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiodns 0.3.1
File Size Uploaded
aiodns-0.3.1.tar.gz 4.1 kB Details

Release files / aiodns-0.3.1.tar.gz

Download URL aiodns-0.3.1.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3138c10391903202325b38692b5dc0c2c1eb6d0db07bcce96e0384e7da95b421
BLAKE2b-256 checksum
How to use checksums
ef55d2e44f0b43ae2ba9ba6ec37122e1dc381d2f44353154999c0a8ab5adf4b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page