A DNS toolkit for Python



1.14.0 and later Kit Signature Public Key

Mailing lists

Source Code

The git version control system is used for dnspython development.

dnspython is hosted at github

Repository: git://github.com/rthalley/dnspython.git

Similar software

dnspython is a DNS toolkit for Python. It supports almost all 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.

To see a few of the ways dnspython can be used, visit the Examples page.

dnspython originated at Nominum where it was developed to facilitate the testing of DNS software.

The stable version of dnspython is 1.16.0, released on December 8, 2018.

Python 2.x support ends with the release of 1.16.0, unless there are critical bugs in 1.16.0. Future versions of dnspython will only support Python 3.

Version numbering of future dnspython releases will also start at 2.0, as incompatible changes will be permitted. We're not planning huge changes at this time, but we'd like to do a better job at IDNA, and there are other API improvements to be made.

1.16.0 is mostly a bug fix release. It switches from the unmaintained pycrypto to pycryptodome or pycryptodomex. It has some notable new features, including support for Cython, EDNS0 client subnet, the OPENPGPKEY RR, and Python type signatures.

Python 2.7 or later, or Python 3.4 or later is required.

See the README file or the git commit history for more detailed information on changes since the prior release.

Contact webmaster@dnspython.org if you have questions or comments about this site.