Skip to main content

Manipulate DNS records on various DNS providers in a standardized/agnostic way

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Lexicon

Manipulate DNS records on various DNS providers in a standardized/agnostic way.

build_status tests_status coverage_status docker_pulls pypy_version github_license

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 89 providers:

aliyun

arvancloud

aurora

azure

cloudflare

cloudns

cloudxns

conoha

constellix

ddns

desec

devnomads

digitalocean

dinahosting

directadmin

dnsimple

dnsmadeeasy

dnspark

dnspod

dnsservices

dreamhost

duckdns

dynu

easydns

easyname

euserv

exoscale

flexibleengine

gandi

gehirn

glesys

godaddy

googleclouddns

gransy

gratisdns

henet

hetzner

hostingde

hover

infoblox

infomaniak

internetbs

inwx

ionos

joker

linode

linode4

localzone

luadns

memset

misaka

mythicbeasts

namecheap

namecom

namesilo

netcup

nfsn

njalla

nsone

oci

onapp

online

ovh

plesk

pointhq

porkbun

powerdns

qcloud

rackspace

rage4

rcodezero

regfish

route53

safedns

sakuracloud

scaleway

softlayer

timeweb

transip

ultradns

valuedomain

vercel

vultr

wedos

yandex

yandexcloud

zeit

zilore

zonomi

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dns_lexicon_coop-3.24.2.tar.gz (161.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dns_lexicon_coop-3.24.2-py3-none-any.whl (262.1 kB view details)

Uploaded Python 3

File details

Details for the file dns_lexicon_coop-3.24.2.tar.gz.

File metadata

  • Download URL: dns_lexicon_coop-3.24.2.tar.gz
  • Upload date:
  • Size: 161.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","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}

File hashes

Hashes for dns_lexicon_coop-3.24.2.tar.gz
Algorithm Hash digest
SHA256 65b21c86fe0a22b80301c220369e0908c4c0b69cca8ca2616771d60c63c78b36
MD5 9696948c45249bc2984d59ecf19993f0
BLAKE2b-256 5b521b055da285f577c22e5b04c51ed1ab63a6562e870f0e80b83421ea104f4c

See more details on using hashes here.

File details

Details for the file dns_lexicon_coop-3.24.2-py3-none-any.whl.

File metadata

  • Download URL: dns_lexicon_coop-3.24.2-py3-none-any.whl
  • Upload date:
  • Size: 262.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","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}

File hashes

Hashes for dns_lexicon_coop-3.24.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1d7ddc0d3dd035223695a8bb9e19ed4e8c25ad0bef04f694df93c07b8daf078a
MD5 84592c0cbe116fb81b63b35c48250ed8
BLAKE2b-256 f59e7bf8cac11ef3fe3ed428f4cd02b2ab5977b4f1ead61a539faa3b72b569cd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page