Skip to main content

Module to dynamically update DNS records from multiple services like Hetzner, Amazon, Microsoft...

Project description

dynami


dynami is a Python package that provides a simple interface for managing DNS records through various providers. Currently, it supports Hetzner as a DNS provider, with more providers to come in future updates.

ko-fi

Installation

You can install dynami via pip:

pip install dynami

Usage

To use dynami, you must first instantiate a provider and client. Here's an example for Hetzner:

from dynami.provider import Hetzner
from dynami.ext import Client

api_key = "YOUR_API_KEY"
zone = "yourdomain.local"

provider = Hetzner(api_key=api_key, zone=zone)
client = Client(provider)

result = client.set(record="www", type="A", value="0.0.0.0")

if result.status_code < 299 and result.status_code > 199:
    print("Success!")
else:
    print("Failed!")

This will create an A record for the www subdomain pointing to 0.0.0.0.

Providers

Currently, dynami only supports Hetzner as a DNS provider. More providers will be added in future updates.

  • Hetzner
  • Amazon Web Services (AWS)
  • Cloudflare
  • DigitalOcean
  • Google Cloud Platform (GCP)
  • Microsoft Azure

Provider configuration

To configure a provider, pass the provider-specific options to its constructor. For Hetzner, these options are:

  • api_key: your Hetzner DNS API key
  • zone: the name of the DNS zone you want to manage

Client methods

Client provides the following methods for managing DNS records:

  • set: creates or updates a DNS record

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

dynami-1.0.7.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

dynami-1.0.7-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file dynami-1.0.7.tar.gz.

File metadata

  • Download URL: dynami-1.0.7.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for dynami-1.0.7.tar.gz
Algorithm Hash digest
SHA256 a44daf8cfc2cbcd4a8b1f1debf7040a88bf12ccc6dcff83803eba6721263d62c
MD5 b7beaeae8c5dbdbc3d1dafde744e4102
BLAKE2b-256 cb1a3b3e267a35ee73e5a514593491877807690ab8daab661c6cc0712753b8da

See more details on using hashes here.

File details

Details for the file dynami-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: dynami-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for dynami-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 de7af4e86f96c73f6f8c2d41e119dac3f020936c929ba968a99f8050cd96bbdb
MD5 3fc64279c1d9a2a18ded7e344866fe06
BLAKE2b-256 7c3632f9962c0a3c16d04ac03dacb1f85abc36c4e16506fcb9180ae6440f40ae

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