--- id: py3dns version: "4.0.2" license: unclear license_treatment: unclear maintenance: dormant --- # py3dns — Python 3 DNS library License: unclear · Maintenance: dormant · Downloads: 128.0K/mo ## What it is and what it does py3dns is a Python 3 port of the original pydns library, providing a straightforward interface for making DNS queries. It handles nameserver discovery from system configuration, supports multiple nameservers with fallback, and returns results in useful formats—including ipaddress objects for A and AAAA queries by default. The package includes convenience functions for reverse DNS and MX record queries. The library is synchronous only; async DNS support was removed in version 4.0.0. With no runtime dependencies and low install friction, py3dns is a minimal, self-contained option for basic DNS lookups in Python 3 applications, though its dormant maintenance status means no active development or bug fixes. Use it for: - Perform reverse DNS lookups to resolve IP addresses to hostnames in network monitoring or logging. - Query MX records to validate email domain configurations or build mail server lists. - Look up A/AAAA records to resolve domain names to IP addresses in custom DNS clients or network tools. - Retrieve SOA records to check zone authority and serial numbers for DNS administration tasks. - Build DNS query utilities or diagnostic tools that need synchronous, lightweight DNS resolution. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides synchronous DNS query functionality for Python 3, supporting common record types with configurable nameservers and result formatting. Yes, if you need lightweight synchronous DNS queries and can accept dormant maintenance. The package is stable, has no dependencies, and works reliably for basic DNS lookups in Python >=3.2. No, if you require async DNS, active maintenance, or clarity on licensing terms before deployment. The unclear license treatment warrants verification before use in proprietary contexts. ## Install pip install py3dns uv add py3dns poetry add py3dns ## Installing py3dns Before you install: Low install friction with no runtime dependencies. Dormant maintenance status (799 days since last release) means no active development, though the package remains functional for its stated purpose. License in practice: License treatment is unclear—no SPDX identifier or explicit raw license text is available in the metadata, despite classifiers indicating Python License (CNRI Python License). Verify the actual license terms before use in proprietary or restricted contexts. Quickstart: pip install py3dns import DNS req = DNS.Request() result = req.req('example.com', qtype='A') Requires Python >=3.2; async DNS queries are not supported (removed in version 4.0.0). Verify before relying: - Whether the Python License (CNRI Python License) is compatible with your project's licensing requirements. - Current stability and compatibility with Python versions beyond 3.2, given dormant maintenance status. - Whether the package handles edge cases in modern DNS environments or has known limitations with certain record types. ## Package facts - License: not declared (unclear) - Python support: supports_current - Install friction: low - Maintenance: dormant - Downloads: 128.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags DNS queries python, domain name lookup, resolve DNS records, nameserver queries, python dns library, A record lookup, MX record resolver, dns-resolver, network-utilities [View on SkillFed](https://skillfed.io/packages/py3dns) · [View on PyPI](https://pypi.org/project/py3dns/)