Skip to main content

npmctl-namecheap

Namecheap DNS provider plugin for npmctl

Extend npmctl with Namecheap-backed DNS record management for declarative workflows, provider discovery, and DNS-aware automation.

PyPI version Python 3.10, 3.11, 3.12, 3.13, and 3.14 CI SSOT governed Apache 2.0 License

npmctl-namecheap package hits npmctl-namecheap downloads

npmctl architecture infographic

npmctl-namecheap is the Namecheap DNS provider package for npmctl. Install it when you want desired-state DNS records or DNS diagnostics to resolve through Namecheap instead of using only the base npmctl package.

Supported Python Versions

npmctl-namecheap supports Python 3.10, 3.11, 3.12, 3.13, and 3.14.

Why npmctl-namecheap

  • Adds Namecheap DNS provider discovery to npmctl
  • Lets DNS workflows live beside proxy and certificate desired state
  • Keeps provider-specific credentials out of the core CLI package
  • Supports operator diagnostics through npmctl dns doctor
  • Persists A, AAAA, CNAME, TXT, MX, SRV, and CAA records through Namecheap setHosts during npmctl apply

FAQ

What is npmctl-namecheap?

Answer: npmctl-namecheap is a plugin package that teaches npmctl how to talk to the Namecheap DNS API for DNS record operations and DNS provider diagnostics.

When do I need npmctl-namecheap?

Answer: You need npmctl-namecheap when your npmctl workflow includes Namecheap-managed DNS records or when you want npmctl to validate Namecheap DNS connectivity and credentials.

Does npmctl-namecheap work without npmctl?

Answer: No. npmctl-namecheap is an extension package for npmctl, not a standalone CLI.

What credentials are required?

Answer: Namecheap API access requires NAMECHEAP_API_USER, NAMECHEAP_API_KEY, NAMECHEAP_USERNAME, and NAMECHEAP_CLIENT_IP. You can also override the endpoint with NAMECHEAP_API_BASE_URL for tests or non-default environments.

Install

Install the base CLI and the Namecheap provider package together:

pipx install npmctl
pipx inject npmctl npmctl-namecheap
npmctl plugins list

With uv:

uv tool install npmctl
uv tool install npmctl-namecheap
npmctl plugins list

Inside a virtual environment:

python -m venv .venv
. .venv/bin/activate
python -m pip install npmctl npmctl-namecheap
npmctl plugins list

Configure Namecheap

Set the required environment variables:

export NAMECHEAP_API_USER=your-api-user
export NAMECHEAP_API_KEY=your-api-key
export NAMECHEAP_USERNAME=your-username
export NAMECHEAP_CLIENT_IP=your-public-ip

Optional for tests or alternate endpoints:

export NAMECHEAP_API_BASE_URL=https://api.namecheap.com/xml.response

Verify Plugin Discovery

Check that npmctl can discover the provider:

npmctl plugins list
npmctl dns doctor --provider namecheap

Minimal DNS Workflow

Once the provider is installed and configured, npmctl can validate, plan, apply, and diagnose Namecheap-backed DNS behavior through the base CLI:

npmctl validate desired-state/dns.yaml
npmctl plan desired-state/dns.yaml --owner site-a
npmctl apply desired-state/dns.yaml --owner site-a
npmctl dns doctor --provider namecheap
npmctl dns records --provider namecheap --zone example.com

Namecheap apply uses namecheap.domains.dns.setHosts, so npmctl sends the full zone host set required by the Namecheap XML API. Unmanaged records returned by Namecheap are preserved; stale npmctl-owned records can be removed with owner-scoped prune behavior when they are omitted from desired state. The supported declarative record types are A, AAAA, CNAME, TXT, MX, SRV, and CAA. MX records require priority.

More Documentation

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

npmctl_namecheap-0.4.1.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

npmctl_namecheap-0.4.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file npmctl_namecheap-0.4.1.tar.gz.

File metadata

  • Download URL: npmctl_namecheap-0.4.1.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for npmctl_namecheap-0.4.1.tar.gz
Algorithm Hash digest
SHA256 9e542b741c39889c27f1c94f335d18c72f93c12825a8da988475b9ecc117c7dc
MD5 0d0c4b444ce6fdee2b55bcba06caad6d
BLAKE2b-256 945fb28ae88e67105d8be601a5e88f7b835b8d4f2078faad69a2611a3cfed3bc

See more details on using hashes here.

File details

Details for the file npmctl_namecheap-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: npmctl_namecheap-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for npmctl_namecheap-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 13ac4eb85ce07a0ee8f2ba4378fe69bcac12faca672facc234f02b01a0234c23
MD5 6c2e24f9828168c3ece7efe6da53112d
BLAKE2b-256 7d1ea79d744619b62ec3563f1a0fbdda0e0970325b7de2a5e112885f329e7d6d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 files

0.3.10

2 files

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page