# rthalley/dnspython

a powerful DNS toolkit for python

Repository: https://github.com/rthalley/dnspython
Canonical: https://ross.abutalabs.com/products/dnspython
Homepage: http://www.dnspython.org
Language: Python
License: NOASSERTION
License Family: other
Topics: dnspython, dns, dns-over-https, dns-over-tls, dnssec, stub-resolver, ddns, trio, asyncio, edns, edns0, idna, dns-over-quic
Last push: 2026-08-25T01:12:22+00:00

## Health v2 (maintenance only)
Score: 69/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 14, longevity 100
- inputs: {"age_days": 5488, "days_push": 9, "days_rel": 360, "gap_med": 336, "n_releases_24m": 2}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2670, forks 570 (observed 2026-08-28T04:07:09.490463+00:00)

## What it is
dnspython is a DNS toolkit for Python supporting nearly all record types, queries, zone transfers, dynamic updates, TSIG, EDNS0, DNSSEC, and DNS-over-HTTPS/TLS/QUIC. It offers both high-level resolver APIs and low-level manipulation of DNS zones, messages, names, and records.

## Use cases
- resolve DNS records from Python
- perform DNSSEC validation
- query DNS over HTTPS
- do zone transfers (AXFR)
- send dynamic DNS updates
- test nameservers
- async DNS lookups with asyncio or trio
- manipulate DNS messages and zones programmatically

## When to choose
- you need fine-grained DNS control beyond simple hostname lookups
- you need DNSSEC, DoH, DoT, DoQ, or TSIG support in Python
- you're building DNS testing or monitoring tools

## When to avoid
- you only need simple forward lookups (use socket.getaddrinfo)
- you need a full authoritative DNS server rather than a client toolkit

## Facets
- artifact type: library
- maturity: stable
- function: http-client, networking, security, developer-tools
- domain: networking, developer-tools, security
- platform: python, cross-platform
- tags: dns, dnssec, dns-over-https, dns-over-tls, dns-over-quic, stub-resolver, ddns, edns, asyncio, trio, idna, zone-transfers

## Member repositories
- rthalley/dnspython (main) score 69

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:09.490463+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:18:11.822876+00:00, confidence not recorded.
  - readme: https://github.com/rthalley/dnspython (fetched 2026-08-28T04:07:09.490463+00:00, sha fefee64569f6)
  - homepage: http://www.dnspython.org (fetched 2026-08-29T10:00:50.790546+00:00, sha dcc71fe498d9)
  - site_page: https://www.dnspython.org/about (fetched 2026-08-29T10:00:50.793544+00:00, sha 3402e97042a6)
  - registry_pypi: https://pypi.org/pypi/dnspython/json (fetched 2026-08-29T10:00:50.795506+00:00, sha f547334a90bc)
- Data as of 2026-08-30T08:39:29.467469+00:00.
