dnspython is a DNS toolkit for Python. It supports almost all of the record types. It can be used for queries, zone transfers, and dynamic updates. It supports TSIG authenticated messages and EDNS0. dnspython provides both high and low level access to DNS. The high level classes perform queries for data of a given name, type, and class, and return an answer set. The low level classes allow direct manipulation of DNS zones, messages, names, and records.
| Tags | Networking Software Development Libraries Python Modules Internet DNS |
|---|---|
| Licenses | Freeware |
| Operating Systems | POSIX Windows Windows Windows |
| Implementation | Python |
Recent releases


Release Notes: The source address and port may now be specified when calling dns.query.{udp,tcp,xfr}. The resolver now does exponential backoff each time it runs through all of the nameservers. Rcodes which indicate a nameserver is likely to be a "permanent failure" for a query cause the nameserver to be removed from the mix for that query.


Release Notes: This release mostly includes bugfixes. A notable new feature is that messages are now indexed, which greatly improves the from_wire() performance of large messages such as zone transfers.


Release Notes: This is a maintenance release. The only new functionality is IPv6 support for dns.query and dns.resolver.


Release Notes: This is mostly a maintenance release. The only new feature is support for the proposed SSHFP RR.


Release Notes: Support has been added for the new DNSSEC record types RRSIG, DNSKEY, and NSEC. All known bugs from dnspython 1.2.0 have been fixed.