python-designateclient
OpenStack DNS-as-a-Service - Client
What it is and what it does
python-designateclient is the official Python SDK for OpenStack's Designate service, which provides DNS-as-a-Service capabilities within OpenStack deployments. It wraps the Designate REST API and exposes both a programmatic Python interface (the designateclient module) and a command-line tool (designate command) for managing DNS zones, records, and related resources.
The package is built on OpenStack's standard client patterns, using keystoneauth1 for authentication, cliff for CLI scaffolding, and stevedore for plugin management. It targets operators and developers working within OpenStack environments who need to automate DNS management or integrate DNS operations into larger infrastructure workflows. The library supports Python 3.10, 3.11, 3.12, and 3.13, and is actively maintained as part of the OpenStack project.
Use it for:
- Automate DNS zone and record creation/deletion in OpenStack-managed infrastructure
- Build custom DNS management dashboards or automation scripts for OpenStack operators
- Integrate DNS provisioning into infrastructure-as-code or orchestration pipelines
- Query and manage DNS records programmatically from Python applications running in OpenStack
- Extend OpenStack CLI workflows with DNS management commands via the designate CLI tool
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library and command-line tool for the OpenStack Designate DNS-as-a-Service API, enabling programmatic management of DNS zones and records.
Yes, if you operate or develop against an OpenStack Designate deployment. The package is actively maintained, has low install friction, carries a permissive Apache-2.0 license, and provides the standard way to interact with Designate from Python. Not relevant for non-OpenStack DNS use cases.
Install
python-designateclient on PyPI
pip
pip install python-designateclientuv
uv add python-designateclientpoetry
poetry add python-designateclientInstalling python-designateclient
Before you install
Low install friction with a pure-wheel distribution. Active maintenance status with a release 44 days old. Depends on 10 runtime packages including OpenStack ecosystem libraries (keystoneauth1, osc-lib, oslo.serialization, oslo.utils) and standard HTTP/CLI tools (requests, cliff, stevedore).
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install python-designateclient
from designateclient import client
designate = client.Client('2', endpoint_override='http://designate-api/v2', token='your-token')
Requires Python 3.10 or later. Needs a running Designate API endpoint and valid OpenStack authentication credentials.
Verify before relying
- Whether keystoneauth1 integration supports all current OpenStack authentication methods
- Performance characteristics when managing large numbers of DNS zones or records
- Compatibility with Designate API versions beyond v2
- Exact endpoint configuration requirements and defaults
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — cliff, jsonschema, osc-lib, oslo.serialization, oslo.utils, pbr, keystoneauth1, requests, stevedore, debtcollector |
| Maintenance | actively maintained — 44 days since the last release |
| First released | |
| Downloads | 189,557/month — #9,926 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_designateclient-7.0.0-py3-none-any.whl
Tags
More Name Service (DNS) packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
dnspythondnspython is a DNS toolkit that handles…
permissive · top 1,000 on PyPI
fqdnValidates fully-qualified domain names (FQDNs)…
copyleft · top 1,000 on PyPI
netaddrRepresents and manipulates IPv4, IPv6, MAC…
permissive · top 5,000 on PyPI
publicsuffix2Extracts the public suffix and registrable…
copyleft · top 5,000 on PyPI
publicsuffixlistParses the Public Suffix List to extract the…
copyleft · top 5,000 on PyPI
python-neutronclientPython bindings and client library for the…
permissive · top 15,000 on PyPI
python-novaclientPython bindings to the OpenStack Compute API,…
permissive · top 15,000 on PyPI
python-heatclientPython client library and command-line tool for…
permissive · top 15,000 on PyPI
python-swiftclientPython client library for OpenStack Object…
permissive · top 15,000 on PyPI
python-troveclientPython client library and command-line tool for…
permissive · top 15,000 on PyPI
python-glanceclientPython client library and command-line tool for…
permissive · top 15,000 on PyPI
python-magnumclientPython bindings and command-line tool for the…
permissive · top 15,000 on PyPI
python-ironicclientPython client library and CLI for the OpenStack…
permissive · top 15,000 on PyPI
python-mistralclientPython client library and command-line…
permissive · top 15,000 on PyPI
python-barbicanclientPython client library and command-line tool for…
permissive · top 15,000 on PyPI