
Security News
Crates.io Users Targeted by Phishing Emails
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
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.
This is of dnspython 2.8.0.
Please read
What's New for
information about the changes in this release.
pip install dnspython
pip install --upgrade pip build
python -m build
pip install dist/*.whl
pip install git+https://github.com/rthalley/dnspython.gitdnspython'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]
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.
FAQs
DNS toolkit
We found that dnspython demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.

Product
Socket now lets you customize pull request alert headers, helping security teams share clear guidance right in PRs to speed reviews and reduce back-and-forth.

Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.