Skip to main content

Nmavail

PyPI version License: MIT

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

Download files

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

Source Distribution

nmavail-0.4.3.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

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

nmavail-0.4.3-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file nmavail-0.4.3.tar.gz.

File metadata

  • Download URL: nmavail-0.4.3.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nmavail-0.4.3.tar.gz
Algorithm Hash digest
SHA256 6ec350da8516f4335cb2d43e4d4f108b4540730cc15596a5721b05e380708fa4
MD5 4271f41a882f568c7abe5215d0e49527
BLAKE2b-256 a380b33ae90cffe3e36c7d00462cdb69ebd05b47270f5ee1d0c7636639696260

See more details on using hashes here.

Provenance

The following attestation bundles were made for nmavail-0.4.3.tar.gz:

Publisher: publish.yml on nmavail/nmavail

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nmavail-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: nmavail-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nmavail-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e48db94ebb589086a42054e5eae5f7f7cf6ea8d4de3dcc22f0d9e6e6a026af35
MD5 fefeb4c6ebe2dc0ffb185bdba4c8011d
BLAKE2b-256 778284e5f761cfa4a71b3efb5a03ece119d504532c87f0575097672212396fa8

See more details on using hashes here.

Provenance

The following attestation bundles were made for nmavail-0.4.3-py3-none-any.whl:

Publisher: publish.yml on nmavail/nmavail

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.4.3 This release

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page