Manipulate DNS records on various DNS providers in a standardized/agnostic way.
Why using Lexicon?
Lexicon provides a way to manipulate DNS records on multiple DNS providers in a standardized way.
Lexicon can be used as:
a CLI tool:
# Create a TXT entry in domain.net zone hosted by CloudFlare
lexicon cloudflare create domain.net TXT --name foo --content bar
or a Python library:
# Create a TXT entry in domain.net zone hosted by CloudFlare
from lexicon.client import Client
from lexicon.config import ConfigResolver
config = ConfigResolver().with_env().with_dict({
"provider_name" : "cloudflare",
"domain": "domain.net",
})
with Client(config) as operations:
operations.create_record("TXT", "foo", "bar")
Lexicon was designed to be used in automation, specifically letsencrypt.
Supported providers
Only DNS providers who have an API can be supported by lexicon.
Lexicon currently supports 90 providers:
Documentation
Online documentation (user guide, configuration reference) is available in the Lexicon documentation.
For a quick start, please have a look in particular at the User guide.
Contributing
If you want to help in the Lexicon development, you are welcome!
Please have a look at the Developer guide page to know how to start.
Licensing
MIT
Logo: transform by Mike Rowe from the Noun Project
Metadata
Release files for dns-lexicon 3.25.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dns_lexicon-3.25.2.tar.gz | 164.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dns_lexicon-3.25.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 431.3 kB
Release files / dns_lexicon-3.25.2.tar.gz
| Download URL | dns_lexicon-3.25.2.tar.gz |
|---|---|
| Size | 164.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a377bf2b4017ee46de8d5515cf2c204bfda74b49032dc5420bd3100993f28deb
|
|
BLAKE2b-256 checksum How to use checksums |
4b37291063606930c749681b2ad0612952b1bc5374ab2037346566812ba8f2c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / dns_lexicon-3.25.2-py3-none-any.whl
| Download URL | dns_lexicon-3.25.2-py3-none-any.whl |
|---|---|
| Size | 267.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0592a30d8d721226668b34b736d7af1332d5c5fccf138626964d644c2b17b9be
|
|
BLAKE2b-256 checksum How to use checksums |
ba08ea98f3cd8a5f97cda7edf52f73e700f51e84198fd3df8230d3253def1042
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|