Good DNS lib, but doesn’t do DNSSEC validation: https://github.com/paulc/dnslib
This looks like it supports DNSSEC: https://github.com/rthalley/dnspython.git
Resovler class always recursive check cache, serve from there
ServerResolver talks to a specific server, either tcp/udp. Keeps connection open, for repeated queries raises exception when connection closes, callee deals w/ starting new session keeps stats on performance so caller can choose best NS