Nmavail
Nmavail is a powerful command-line tool designed to check the availability of names across multiple domains and platforms. Whether you are naming a startup, a new project, or an open-source library, Nmavail helps you secure your brand identity by verifying if a name is already taken.
Features
- Domain Availability: Checks popular TLDs (e.g.,
.com,.io,.dev,.ai) via WHOIS and DNS lookups - Developer Platforms: Verifies username availability on GitHub and GitLab
- Package Registries: Checks if a name is available on PyPI, NPM, Crates.io, and Go Modules
- System Packages: Checks Homebrew, AUR, Debian/Ubuntu, and Alpine Linux
- Asynchronous & Fast: Uses async I/O to perform checks in parallel (~13 seconds total)
- Clean CLI Interface: Provides a beautiful, easy-to-read terminal output with smooth loading animations
- No Configuration Required: Works out of the box, no tokens or setup needed
- Proxy Aware: Honours the standard
HTTP_PROXY/HTTPS_PROXY/ALL_PROXYenvironment variables, including SOCKS
Installation
Option 1: Install via uv (Recommended)
The easiest and recommended way to install Nmavail is using uv:
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install nmavail (uv will automatically manage Python environment)
uv tool install nmavail
# Verify installation
nmavail --version
Option 2: Install via pipx
Alternatively, you can use pipx:
# Install pipx (if not already installed)
pip install pipx
# Install nmavail (pipx will create an isolated environment)
pipx install nmavail
# Verify installation
nmavail --version
Option 3: Run without installation
Try Nmavail without installing:
uvx nmavail test
Option 4: Install from Source
For developers or those who want the latest unreleased features:
git clone https://github.com/nmavail/nmavail.git
cd nmavail
uv sync # or: pip install -e .
uv run nmavail test
Usage
Check Name Availability
To check a name across all supported platforms:
nmavail my-awesome-name
Example Output:
Package Registries:
✓ PyPI : Available
✗ NPM : Taken
✓ Crates.io : Available
✓ Go Modules : Available
Developer Platforms:
- GitHub:
✗ User/Org : Taken
✗ Total Repos : 9702854
✗ Top Stars : 25920 stars
- GitLab (list first 100 results only):
✗ User/Group : Taken
✗ Total Repos : 100+
✗ Top Stars : more than 0 stars
System Packages:
✓ Homebrew : Available
✓ Arch (AUR) : Available
✓ Debian/Ubuntu : Available
✓ Alpine Linux : Available
Domains:
✗ my-awesome-name.com : Taken
✓ my-awesome-name.io : Available
✓ my-awesome-name.dev : Available
Command Line Options
Show Version:
nmavail --version
nmavail -V
Show Help:
nmavail --help
nmavail -h
Examples:
nmavail test
nmavail google
nmavail myproject
Supported Platforms
| Category | Platforms |
|---|---|
| Domains | .com, .org, .net, .io, .co, .dev, .app, .xyz, .ai, .me, .cn, .tv, .ly, .it |
| Developer Platforms | GitHub (User/Org & Repo Search), GitLab (User/Group & Repo Search) |
| Package Registries | PyPI, NPM, Crates.io, Go Modules |
| System Packages | Homebrew, Arch (AUR), Debian/Ubuntu, Alpine Linux |
Performance
- Total check time: ~13 seconds (varies based on network conditions)
- Parallel execution: All checks run concurrently
- Smart pagination: GitLab limited to 1 page (100 results) for speed
- Optimized timeouts: 10 second timeout per request
Proxy Support
Nmavail relies on httpx for its HTTP requests, so the usual proxy environment variables are picked up automatically:
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1
SOCKS proxies are supported as well. Note that the scheme must be socks5:// or socks5h://;
the shorthand socks:// is not a scheme httpx understands. If socks:// is found, Nmavail
rewrites it to socks5:// and prints a warning, so an existing shell profile will keep working:
export ALL_PROXY=socks5://127.0.0.1:7890
If a proxy cannot be used at all, Nmavail falls back to a direct connection and reports the
affected platforms with a ! marker rather than aborting the run.
To bypass the proxy entirely, unset the variables for a single run:
env -u ALL_PROXY -u all_proxy nmavail myproject
Development
This project uses Ruff for linting and formatting.
# Format code
uv run ruff format .
# Lint code
uv run ruff check .
License
MIT
Metadata
Release files for nmavail 0.4.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nmavail-0.4.4.tar.gz | 21.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nmavail-0.4.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.9 kB
Release files / nmavail-0.4.4.tar.gz
| Download URL | nmavail-0.4.4.tar.gz |
|---|---|
| Size | 21.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a133423ab13bb7e940699f998d0aad6412ff2f909c6f7cf9e38f4074b73ce248
|
|
BLAKE2b-256 checksum How to use checksums |
59d0aa2c137c7381f7fd09f952c4421c81752ee0b08b4951288eeee5812ba0c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency logRelease files / nmavail-0.4.4-py3-none-any.whl
| Download URL | nmavail-0.4.4-py3-none-any.whl |
|---|---|
| Size | 16.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a86f0d14156a1ed36837b5130b5ab1a39af55904caa41ff26db850abd0d5ea09
|
|
BLAKE2b-256 checksum How to use checksums |
b10498f3aaa66765281fd79358a85f1a3eaf188991d422bef94db09410864adc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency log