INWX provider for octoDNS
An octoDNS provider that targets INWX DNS via the DOMRobot XML-RPC API.
Installation
Command line
pip install octodns-inwx
requirements.txt/setup.py
Pinning specific versions or SHAs is recommended to avoid unplanned upgrades.
Versions
# Start with the latest versions and don't just copy what's here
octodns==1.18.0
octodns-inwx==0.1.0
SHAs
# Start with the latest/specific versions and don't just copy what's here
-e git+https://git@github.com/octodns/octodns.git@9da19749e28f68407a1c246dfdf65663cdc1c422#egg=octodns
-e git+https://git@github.com/fjaeckel/octodns-inwx.git@<sha>#egg=octodns_inwx
Configuration
providers:
inwx:
class: octodns_inwx.INWXProvider
# INWX account username (required)
username: env/INWX_USERNAME
# INWX API password (required)
api_password: env/INWX_PASSWORD
# API endpoint base URL (optional, defaults to the production endpoint)
#endpoint: https://api.domrobot.com
A dedicated API user with permission to manage the affected domains is recommended.
Support Information
Records
INWXProvider supports A, AAAA, CAA, CNAME, MX, NS, PTR, SRV, TLSA, and TXT.
PTR records are managed the same way as any other record type, so reverse
DNS zones (e.g. 2.0.192.in-addr.arpa. or ...ip6.arpa.) can be managed by
octoDNS as long as the corresponding reverse zone is registered with INWX.
Dynamic
INWXProvider does not support dynamic records.
Development
Install the package in editable mode along with the development tools:
pip install -r requirements-dev.txt
Tests are run with:
python -m unittest discover -s tests -v
Linting is run with:
ruff check .
Releasing
Releases are published to PyPI automatically by .github/workflows/publish.yml
whenever a v* tag is pushed. The workflow refuses to publish if the tag
doesn't match the version in pyproject.toml, so the two must be bumped
together:
- Update
versionin pyproject.toml (e.g.0.1.2->0.1.3). - Commit the bump, e.g.
git commit -am "Bump version to 0.1.3". - Tag the commit to match, with a
vprefix:git tag v0.1.3. - Push both the commit and the tag:
git push && git push origin v0.1.3.
Pushing the tag triggers the workflow, which verifies the tag matches
pyproject.toml, builds the sdist/wheel, and publishes to PyPI via trusted
publishing (no manual credentials needed).
Metadata
Release files for octodns-inwx 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| octodns_inwx-0.1.3.tar.gz | 12.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| octodns_inwx-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.0 kB
Release files / octodns_inwx-0.1.3.tar.gz
| Download URL | octodns_inwx-0.1.3.tar.gz |
|---|---|
| Size | 12.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
738ebd7d18b278bc00bebb28d6797c984ce7f5dfdca2ed8c7f797880ca314c87
|
|
BLAKE2b-256 checksum How to use checksums |
4a9e60a95fe7737bdde004dc9e5cc8b2dc40088809735e7dad9cf736135b8cba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 10, 2026.
Transparency logRelease files / octodns_inwx-0.1.3-py3-none-any.whl
| Download URL | octodns_inwx-0.1.3-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4c799ea2fa8bc4d03ac69f6b9dbe7709eadce19f31de6d6f3dfd87555547d0fa
|
|
BLAKE2b-256 checksum How to use checksums |
6fcc88cb1ca59c7b559341123d7549b3245446c75227ed854d32769fc4fb5be3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 10, 2026.
Transparency log