--- id: dns-lexicon version: "3.25.2" license: MIT license_treatment: permissive maintenance: active --- # dns-lexicon — Manipulate DNS records on various DNS providers in a standardized/agnostic way License: permissive · Maintenance: active · Downloads: 161.1K/mo ## What it is and what it does dns-lexicon abstracts away the differences between DNS provider APIs, letting you manage DNS records using a single standardized interface. It supports many providers—from major cloud platforms like AWS Route 53, Azure, and Google Cloud DNS to registrars like GoDaddy, Namecheap, and smaller regional providers. You can use it as a command-line tool for one-off operations or import it as a Python library for automation scripts. The package was designed specifically for Let's Encrypt certificate automation, where you need to prove domain ownership by creating DNS challenge records. It handles the boilerplate of authentication, API calls, and response parsing for each provider, so you write the same code regardless of which DNS backend you're using. Dependencies include requests for HTTP, cryptography for secure operations, dnspython for DNS utilities, and parsing libraries like beautifulsoup4 and pyyaml. Use it for: - Automate DNS record creation for Let's Encrypt ACME challenges across multiple DNS providers without rewriting provider-specific code. - Build multi-tenant DNS management tools that support customers using different registrars or DNS hosting services. - Migrate DNS records between providers by reading from one and writing to another using the same API. - Create or update DNS records programmatically in CI/CD pipelines for dynamic infrastructure provisioning. - Manage DNS records for intranet or private network SSL certificates where DNS validation is required. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. dns-lexicon provides a unified Python interface to create, read, update, and delete DNS records across multiple DNS providers via their APIs, usable as both a CLI tool and a library. Yes. dns-lexicon is actively maintained, has no known vulnerabilities, uses a permissive license, and solves a real problem for anyone managing DNS across multiple providers. The low install friction and broad provider support make it the standard choice for DNS automation, especially in Let's Encrypt workflows. Install it if you need to automate DNS operations or support multiple DNS backends. ## Install pip install dns-lexicon uv add dns-lexicon poetry add dns-lexicon ## Installing dns-lexicon Before you install: Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release and steady commit activity. Nine runtime dependencies are all well-established packages (requests, cryptography, dnspython, pyyaml, beautifulsoup4, etc.), so installation should be straightforward. License in practice: MIT license is permissive and imposes no restrictions on use, modification, or redistribution in proprietary or commercial contexts. Quickstart: pip install dns-lexicon from lexicon.client import Client from lexicon.config import ConfigResolver config = ConfigResolver().with_env().with_dict({ "provider_name": "cloudflare", "domain": "example.com", }) with Client(config) as operations: operations.create_record("TXT", "foo", "bar") Requires Python 3.10 or later. Provider-specific API credentials must be configured via environment variables or passed in the config dict. Verify before relying: - Whether all listed providers are equally well-maintained or if some have stale implementations. - Performance characteristics when managing large numbers of DNS records across providers. - Error handling and retry behavior for transient API failures from DNS providers. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 161.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags dns record management, multi-provider dns api, dns automation, letsencrypt dns challenge, dns provider abstraction, bulk dns operations, dns cli tool, dns-automation, letsencrypt, multi-provider [View on SkillFed](https://skillfed.io/packages/dns-lexicon) · [View on PyPI](https://pypi.org/project/dns-lexicon/)