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

Metadata

Release files for npmctl-namecheap 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for npmctl-namecheap 0.4.1
File Size Uploaded Provenance
npmctl_namecheap-0.4.1.tar.gz 7.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for npmctl-namecheap 0.4.1
File Interpreter ABI Platform
npmctl_namecheap-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 17.2 kB

Release files / npmctl_namecheap-0.4.1.tar.gz

Download URL npmctl_namecheap-0.4.1.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9e542b741c39889c27f1c94f335d18c72f93c12825a8da988475b9ecc117c7dc
BLAKE2b-256 checksum
How to use checksums
945fb28ae88e67105d8be601a5e88f7b835b8d4f2078faad69a2611a3cfed3bc
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / npmctl_namecheap-0.4.1-py3-none-any.whl

Download URL npmctl_namecheap-0.4.1-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13ac4eb85ce07a0ee8f2ba4378fe69bcac12faca672facc234f02b01a0234c23
BLAKE2b-256 checksum
How to use checksums
7d1ea79d744619b62ec3563f1a0fbdda0e0970325b7de2a5e112885f329e7d6d
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for npmctl-namecheap 0.4.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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