A CLI tool for managing netcup DNS records via the netcup API
Project description
netcup CLI
A Python command-line interface for managing DNS records via the netcup DNS API.
Features
✅ Authentication Management: Secure credential storage using system keyring
✅ DNS Zone Info: View zone details, TTL, serial, DNSSEC status
✅ DNS Records: List, add, update, and delete DNS records
✅ Rich Output: Beautiful formatted tables and clear status messages
✅ Debug Mode: Comprehensive debugging for troubleshooting
Installation
From PyPI (Recommended)
pip install netcup-dns-cli
From Source
# Clone the repository
git clone https://github.com/danielmeint/netcup-cli.git
cd netcup-cli
# Install with uv (recommended)
uv sync
# Or install with pip
pip install -e .
Quick Start
1. Authentication
First, log in with your netcup credentials:
netcup auth login
You'll be prompted for:
- Customer Number (found in your netcup Customer Control Panel)
- API Key (generated in CCP under "API")
- API Password (generated in CCP under "API")
Credentials are securely stored in your system keyring.
2. DNS Management
View DNS zone information:
netcup dns zone info example.com
List all DNS records:
netcup dns records list example.com
Add a new DNS record:
netcup dns record add example.com subdomain A 192.168.1.1
netcup dns record add example.com mail MX mail.example.com --priority 10
Update an existing record:
netcup dns record update example.com 12345 subdomain A 192.168.1.2
Delete a record:
netcup dns record delete example.com 12345
3. Other Commands
Check authentication status:
netcup auth status
View configuration:
netcup config show
Logout:
netcup auth logout
Enable debug mode:
netcup --debug dns zone info example.com
Requirements
- Python 3.8+
- netcup account with DNS API access
- Domain(s) registered with netcup using netcup nameservers
API Access Setup
To set up API access for your netcup account, follow the official guide: Applying for an API password and API keys
Ensure DNS management is enabled for your domains in your netcup Customer Control Panel.
Troubleshooting
- Use
--debugflag for detailed API response logging - Verify your domains are using netcup nameservers
- Check that DNS management is enabled in your CCP
- Ensure API credentials have proper permissions
License
MIT License - see LICENSE file for details.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netcup_dns_cli-0.1.2.tar.gz.
File metadata
- Download URL: netcup_dns_cli-0.1.2.tar.gz
- Upload date:
- Size: 98.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4816030bebda9b67ce3cb879c3608dafb6a2355e43df3780b72399d6c425e9df
|
|
| MD5 |
525599eddbd7d58a715f870aad973e05
|
|
| BLAKE2b-256 |
e042239300ebe6390396fbbe4d87a7b6fe623dca62458299d81ad163bcecdb39
|
File details
Details for the file netcup_dns_cli-0.1.2-py3-none-any.whl.
File metadata
- Download URL: netcup_dns_cli-0.1.2-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05cf2b9fff3f8ea1b29c377b831bb344a97fdfcc9f66791cf83e38c708faa8f8
|
|
| MD5 |
b09b28810210918115822b5541d4e10c
|
|
| BLAKE2b-256 |
9348e4cd6c005fa06642051b741c7254c711c2244243d498fbd24e8224e88556
|