Namecheap DNS provider extension for npmctl.
Project description
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.
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
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 or diagnose Namecheap-backed DNS behavior through the base CLI:
npmctl dns doctor --provider namecheap
More Documentation
- Related PyPI package: https://pypi.org/project/npmctl/
- Repository: https://github.com/groupsum/npmctl
- Provider docs: https://github.com/groupsum/npmctl/tree/master/docs/namecheap.md
Project details
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 npmctl_namecheap-0.3.7.tar.gz.
File metadata
- Download URL: npmctl_namecheap-0.3.7.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13de8720bcb81eee42e4d85e4e04a6d100a2227615e8f75ffa15efbfbbef08a7
|
|
| MD5 |
f6bc23406e6efb9a2e031f79fd397349
|
|
| BLAKE2b-256 |
41da2ae0289b8ddee670c815f9b1988f11546947ecbfe071f055fdeef2da0e30
|
Provenance
The following attestation bundles were made for npmctl_namecheap-0.3.7.tar.gz:
Publisher:
release.yml on groupsum/npmctl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
npmctl_namecheap-0.3.7.tar.gz -
Subject digest:
13de8720bcb81eee42e4d85e4e04a6d100a2227615e8f75ffa15efbfbbef08a7 - Sigstore transparency entry: 1566594929
- Sigstore integration time:
-
Permalink:
groupsum/npmctl@1ca828cfb24d75b192e3d78a893813e0536b1d0a -
Branch / Tag:
refs/heads/master - Owner: https://github.com/groupsum
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1ca828cfb24d75b192e3d78a893813e0536b1d0a -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file npmctl_namecheap-0.3.7-py3-none-any.whl.
File metadata
- Download URL: npmctl_namecheap-0.3.7-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5fd9f7dae0ed050de2d5e8942e765126e379395ae4ab3117e22dea2885f6080
|
|
| MD5 |
95d409ecff46dd0966a830174ae0fb3c
|
|
| BLAKE2b-256 |
c4cd65bed5f4d8eb061309a18c910b25aa357e7d2c1e16b90d29d55c444958bc
|
Provenance
The following attestation bundles were made for npmctl_namecheap-0.3.7-py3-none-any.whl:
Publisher:
release.yml on groupsum/npmctl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
npmctl_namecheap-0.3.7-py3-none-any.whl -
Subject digest:
b5fd9f7dae0ed050de2d5e8942e765126e379395ae4ab3117e22dea2885f6080 - Sigstore transparency entry: 1566594961
- Sigstore integration time:
-
Permalink:
groupsum/npmctl@1ca828cfb24d75b192e3d78a893813e0536b1d0a -
Branch / Tag:
refs/heads/master - Owner: https://github.com/groupsum
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1ca828cfb24d75b192e3d78a893813e0536b1d0a -
Trigger Event:
workflow_dispatch
-
Statement type: