Skip to main content

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

Project description

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

build_status coverage_status docker_pulls pypy_version pypy_python_support 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

action = {
    "provider_name" : "cloudflare",
    "action": "create",
    "domain": "domain.net",
    "type": "TXT",
    "name": "foo",
    "content": "bar",
}
config = ConfigResolver().with_env().with_dict(action)
Client(config).execute()

Lexicon was designed to be used in automation, specifically letsencrypt.

Supported providers

Only DNS providers who have an API can be supported by lexicon.

The current supported providers are:

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


Release history Release notifications | RSS feed

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-3.9.5.tar.gz (145.9 kB view details)

Uploaded Source

Built Distribution

dns_lexicon-3.9.5-py3-none-any.whl (224.1 kB view details)

Uploaded Python 3

File details

Details for the file dns-lexicon-3.9.5.tar.gz.

File metadata

  • Download URL: dns-lexicon-3.9.5.tar.gz
  • Upload date:
  • Size: 145.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for dns-lexicon-3.9.5.tar.gz
Algorithm Hash digest
SHA256 cf558b424982fbf6498c1d6ba002deca74201ecd5b0b6f1f7b63ddd51476fcb1
MD5 f18c49eccdedba8d6fa16d69d4e010b9
BLAKE2b-256 50248357ef2cf07d096b2b8d16d65c113ddb761e9add5e9951f22fdfc7a942d0

See more details on using hashes here.

File details

Details for the file dns_lexicon-3.9.5-py3-none-any.whl.

File metadata

  • Download URL: dns_lexicon-3.9.5-py3-none-any.whl
  • Upload date:
  • Size: 224.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for dns_lexicon-3.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0846f8bc2f0e70d0b6cb77a7d72c167b0955e35787347ea501d0f270d06e1333
MD5 191800c61b7292c30ccd188c8d62dadb
BLAKE2b-256 0901c632a2916795420945bdb9e4f992454277bba8c48b3aa0df660afa8c71fc

See more details on using hashes here.

Supported by

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