dnspython

A DNS toolkit for Python

Downloads

Documentation

1.10.0 and later Kit Signature Public Key

1.8.0 through 1.9.4 Kit Signature Public Key

1.6.0 through 1.7.1 Kit Signature Public Key

Older 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. Nominum has generously allowed it to be open sourced under a BSD-style license, and helps support its future development by continuing to employ the author :).

The stable version of dnspython is 1.10.0, released on April 8, 2012.

There are a number of new features in 1.10.0.

Most importantly, dnspython3, the dnspython port to python 3.x is now available. Its features track the 2.x version of dnspython.

Other new things:

  • Added dns.resolver.LRUCache. In this cache implementation, the cache size is limited to a user-specified number of nodes, and when adding a new node to a full cache the least-recently used node is removed. If you're crawling the web or otherwise doing lots of resolutions and you are using a cache, switching to the LRUCache is recommended.
  • dns.resolver.query() will try TCP if a UDP response is truncated.
  • The python socket module's DNS methods can be now be overriden with implementations that use dnspython's resolver.
  • Many bugs have been fixed as well.

    Python 2.4 or later is required.

    See the ChangeLog file for more detailed information on changes since the prior release.


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


    [ Visit Nominum ]