Skip to main content

DNS toolkit

Project description

dnspython

Build Status Documentation Status PyPI version License: ISC Code style: black

INTRODUCTION

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, look in the examples/ directory.

dnspython is a utility to work with DNS, /etc/hosts is thus not used. For simple forward DNS lookups, it's better to use socket.getaddrinfo() or socket.gethostbyname().

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

ABOUT THIS RELEASE

This is of dnspython 2.8.0. Please read What's New for information about the changes in this release.

INSTALLATION

  • Many distributions have dnspython packaged for you, so you should check there first.
  • To use a wheel downloaded from PyPi, run:
    pip install dnspython
  • To install from the source code, go into the top-level of the source code and run:
    pip install --upgrade pip build
    python -m build
    pip install dist/*.whl
  • To install the latest from the main branch, run pip install git+https://github.com/rthalley/dnspython.git

dnspython's default installation does not depend on any modules other than those in the Python standard library. To use some features, additional modules must be installed. For convenience, pip options are defined for the requirements.

If you want to use DNS-over-HTTPS, run pip install dnspython[doh].

If you want to use DNSSEC functionality, run pip install dnspython[dnssec].

If you want to use internationalized domain names (IDNA) functionality, you must run pip install dnspython[idna]

If you want to use the Trio asynchronous I/O package, run pip install dnspython[trio].

If you want to use WMI on Windows to determine the active DNS settings instead of the default registry scanning method, run pip install dnspython[wmi].

If you want to try the experimental DNS-over-QUIC code, run pip install dnspython[doq].

Note that you can install any combination of the above, e.g.: pip install dnspython[doh,dnssec,idna]

Notices

Python 2.x support ended with the release of 1.16.0. dnspython supports Python 3.10 and later. Future support is aligned with the lifetime of the Python 3 versions.

Documentation has moved to dnspython.readthedocs.io.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dnspython-2.8.0.tar.gz (368.3 kB view details)

Uploaded Source

Built Distribution

dnspython-2.8.0-py3-none-any.whl (331.1 kB view details)

Uploaded Python 3

File details

Details for the file dnspython-2.8.0.tar.gz.

File metadata

  • Download URL: dnspython-2.8.0.tar.gz
  • Upload date:
  • Size: 368.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dnspython-2.8.0.tar.gz
Algorithm Hash digest
SHA256 181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f
MD5 5f2ceb19b1c269f9e1ccef8bf2a1e8c5
BLAKE2b-256 8c8b57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26

See more details on using hashes here.

Provenance

The following attestation bundles were made for dnspython-2.8.0.tar.gz:

Publisher: publish.yml on rthalley/dnspython

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dnspython-2.8.0-py3-none-any.whl.

File metadata

  • Download URL: dnspython-2.8.0-py3-none-any.whl
  • Upload date:
  • Size: 331.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dnspython-2.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af
MD5 04e6a7b3771bd54c3e7ddeba08155269
BLAKE2b-256 ba5a18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de

See more details on using hashes here.

Provenance

The following attestation bundles were made for dnspython-2.8.0-py3-none-any.whl:

Publisher: publish.yml on rthalley/dnspython

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page