A powerful CLI tool to check name availability across domains and platforms
Project description
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
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 : Taken
✗ NPM : Taken
✓ Crates.io : Available
✓ Go Modules : Available
System Packages:
✓ Homebrew : Available
✓ Arch (AUR) : Available
✓ Debian/Ubuntu : Available
✓ Alpine Linux : 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
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
Development
This project uses Ruff for linting and formatting.
# Format code
uv run ruff format .
# Lint code
uv run ruff check .
License
MIT
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 nmavail-0.4.0.tar.gz.
File metadata
- Download URL: nmavail-0.4.0.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5243bcf94efd6094c6c8ca6687821f40fbf70ed3d8365c42c019dde8fe67adc2
|
|
| MD5 |
f35a724ebefa637150c802d7fd12e5f1
|
|
| BLAKE2b-256 |
b3d39c7ce8572befa6fbd05e65044e0731321947a8f531a544e5068b348c8e94
|
File details
Details for the file nmavail-0.4.0-py3-none-any.whl.
File metadata
- Download URL: nmavail-0.4.0-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4aac4fa456c2c10d9d0b1c0c1d797e193a62fcf42c2a5b3faaddcffdff6a3bb3
|
|
| MD5 |
9d023d61570ab28bda42ad53197fcbb6
|
|
| BLAKE2b-256 |
5099b6ccaae1b4250280570fb792ebc3bf87000502bad430bbbe3b9c7bc7f91b
|